【问题标题】:Can't .load external page with .fadeIn when using .click使用 .click 时无法使用 .fadeIn 加载外部页面
【发布时间】:2013-03-14 09:00:35
【问题描述】:

////////////////////////

这对我来说确实是一个糟糕的方法。经过多次调整,我得出一个结论,最好一次加载所有外部元素 (html),并且只在单击时应用淡入效果,而不是同时尝试加载外部页面。下面的方法没有产生平滑的淡入淡出效果并在加载外部页面时导致延迟。

////////////////////////

我正在通过以下方式加载外部页面:

$('a').click(function() {
$('#result').load($(this).attr('href'));

return false;
});

我正在尝试使用fadeIn 加载外部页面。

我查看了其他答案,但没有一个对我有用。也许我没有正确理解答案或错误地应用它。到目前为止,我最大的努力(经过无数次尝试)是这样,但这首先会在 div #one 中消失,然后只是加载 #load。 (我这样做是因为我知道我不能对加载 div 本身应用淡入淡出效果。)

$("a").click(function () {
$("#one:hidden:first").fadeIn("slow");
$('#load').load($(this).attr('href'));

return false;
});

我对 jQuery 很陌生,这对于除我之外的其他人来说可能非常简单。

我非常感谢任何帮助。谢谢。

//////////////////这里是标记////////////////

<a href="./test.html" class="link">Load Page 1</a>

<div id="one">

<div id="load">load here</div>


</div>

/////////////////////////////////////// /////////////

【问题讨论】:

标签: jquery ajax


【解决方案1】:
<a href="./test.html" class="link">Load Page 1</a>

<div id="one" class="slot">
  <div id="load">load here</div>
</div>

最初隐藏 div

.slot{
 display:none;
}

加载外部内容

   $(".link").click(function (e) {
     e.preventDefault();      
    var $urlToLoad = $(this).attr('href');  
    $('#load').load($urlToLoad, function(data){
        $("#one").fadeIn('slow');
    });      
});

DEMO

【讨论】:

  • 这无法加载外部页面。
  • 你没有显示标记,所以我只能猜测你想加载哪个 div 以及你想淡入哪个 div,编辑了答案......
  • 对不起。我只有一个 ID 为 #load 的 div。更新了我的问题。无论如何,您对“//fade in any you want here”的回答并没有真正回答这个问题,因为我在问如何做到这一点。我在问“如何”“//在这里淡入你想要的任何东西。”
  • 我已经包含了一个演示,HTH
  • 谢谢。我实际上是这样解决的: $("a.transition").click(function(event){ 很奇怪,不是吗?我刚刚添加了“transition”并且有“body”fadeOut & fadeIn。奇怪的世界jQuery的。大声笑谢谢你的回答。
猜你喜欢
  • 2014-02-17
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多