jqueryfadein&;淡出加载:有更好的方法吗?

jqueryfadein&;淡出加载:有更好的方法吗?,jquery,fadein,fadeout,Jquery,Fadein,Fadeout,我基本上有两个外部页面,我加载。点击淡入淡出效果。为了使div#结果在第二次单击/加载时显示淡出效果,我添加了[$(“#淡出”).fadeOut('slow');] 但是,这会导致加载的页面显示first&fades out&in。我试着改变[$(“#fade”).fadeOut('slow');]的顺序,但结果相同 我确信有一种正确的方法可以做到这一点,但我对jQuery的理解还不够,无法达到预期的效果 有人能帮忙吗?有什么建议吗?该如何改写 可能是您想要进行淡入淡出切换: $(".link"

我基本上有两个外部页面,我加载。点击淡入淡出效果。为了使div#结果在第二次单击/加载时显示淡出效果,我添加了[$(“#淡出”).fadeOut('slow');]

但是,这会导致加载的页面显示first&fades out&in。我试着改变[$(“#fade”).fadeOut('slow');]的顺序,但结果相同

我确信有一种正确的方法可以做到这一点,但我对jQuery的理解还不够,无法达到预期的效果


有人能帮忙吗?有什么建议吗?该如何改写

可能是您想要进行淡入淡出切换:

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

        $("#fade").fadeOut('slow'); //added to show fade effect on second click
        $("#fade").fadeIn('slow');

    });      
});

或者这可能是有用的:

$("#fade").fadeOut('slow').fadeIn('slow');

我真的是在黑暗中拍摄,因为你的问题有点不清楚,但似乎fadeToggle的一个简单实现可以解决这个问题

$("#fade").hide().fadeIn('slow');

我假设当你点击链接时,它应该调用服务器,获取数据,用数据填充匹配的元素,然后将元素淡入视图。然后,再次单击后,您希望它将图元淡出视图。如果是这种情况,上面的代码将起作用,但为了确保#result div不会从一开始就显示出来,您需要将其设置为display:none in css。fadetoggle会处理剩下的事情

我的理解是,你想淡出
#淡出

当你加载内容时,它会淡入,对吗

$(".link").click(function (e) {
    e.preventDefault();      
    var $urlToLoad = $(this).attr('href');  
    $('#result').load($urlToLoad, function(data){
        $("#fade").fadeToggle('slow');
    });      
});
用…怎么样

$(".link").click(function (e) {
    e.preventDefault();
    var $urlToLoad = $(this).attr('href');

    if ($("#fade").length) {
        $("#fade").fadeOut('slow', function () {
            loadContent($urlToLoad)
        });
    } else {
        loadContent($urlToLoad)
    }

});

function loadContent(url) {
    $('#result').load(url, function (data) {
        $("#fade").fadeIn('slow');
    });
}

在加载单据时触发函数, 让它无休止地运行

我所做的是

形成以下步骤:

1-更改每个触发器上的url,
2-在特定的时间计数后触发更改
3-再次更改下一个img的url

$("#fade").hide().fadeIn('slow');
/*---------------------------------------------------------------------------*/


imgcnt=1; 函数chngimg(){
如果(imgcntSo,你想让页面淡入淡出?或者,你想创建一个闪烁效果吗?因为这样每次都会淡入淡出谢谢。添加.hide解决了这个问题。我通过添加setTimeout解决了这个问题(函数(){但是简单地添加.hide更好。很高兴提供帮助。我以前多次遇到这个问题:)如果你做了fadeToggle,这会使div#result fadeOut/在第二次单击时消失。对不起,我忘了提到我已经尝试过fadeToggle。解决问题的方法是添加setTimeout(function(){或添加.hide.Thank。我在上面的问题中提到我已经这样尝试过了。:)这并没有解决问题。添加.hide或setTimeout解决了问题。谢谢。我不太确定您是否尝试过我在这里发布的内容,但无论如何,您的代码会解决您的问题。此外,您没有提供有关加载内容的信息,因此我不得不猜测
$(“#淡入”)
是从另一个页面加载的。
$("#fade").hide().fadeIn('slow');
/*---------------------------------------------------------------------------*/
<br><Br>
imgcnt=1;

function chngimg(){

if(imgcnt<5){


    imgcnt = imgcnt + 1;
        /*newvar = chngimg(imgcnt);*/
        //alert(newvar);

       // alert(imgcnt);

newvar = 'http://www.buzzle.com/images/cliparts/numbers/'+imgcnt+'.png';
    $( "#transit" ).fadeOut(1500,
        function(){ $( "#transit" ).attr({  src: newvar,  title: "Banner", alt: "Halloween"});$( "#transit" ).fadeIn(1500);
                });
    }
    else{imgcnt=0;}
}
$(document).ready(function(){

/**increament value, after 3-4 sec
setInterval, call function to increament,
send increased value to string and change image
after it reaches the last img, 
reset the counter.**/

setInterval(function() {
    chngimg();
},4000);

});

/*---------------------------------------------------------------------------*/
<br><Br>