javascript:淡出但可点击

时间:2013-11-16 18:39:00

标签: javascript jquery-mobile

我正在构建一个JQM应用程序,我有一些JS问题,我肯定很容易修复,但我不太了解JS。

1)我将div放在链接到图像的图像上。因此,当应用程序加载div时,可见,然后淡出。问题是我希望它们仍然是可点击的,当它们不可见时链接到其他图像。

CODE

 setTimeout(function () {

        $(".link").fadeIn(3000);

        $(".link").fadeOut('slow');
    }, 2000 /* Time to wait in milliseconds */);


    setTimeout();  

简单,但我想让它们不可见并保持链接。

2)我的第二个问题是我有一个播放onload的声音文件和两个打开和关闭声音文件的图像。我制作的代码只会更改主页上的图像,不会在任何其他页面上工作(打开和关闭声音但图像不会改变)

CODE

 function playSound() {
    sound.play();
}

sound.play();
newsrc  = "soundOff.png";

function changeImage() {

    if ( newsrc == "soundOff.png" ) {
        document.getElementById("sound").src = "img/soundOff.png";
        document.getElementById("sound").alt = "Sound Off";
        newsrc  = "soundOn.png";
        sound.pause();
    }

    else {
        document.getElementById("sound").src = "img/soundOn.png";
        document.getElementById("sound").alt = "Sound On";
        newsrc  = "soundOff.png";
        sound.play();
    }
};

2 个答案:

答案 0 :(得分:1)

来自jQuery手册:

  

.fadeOut()方法可以设置匹配元素的不透明度。一旦不透明度达到0,显示样式属性将设置为none,因此该元素不再影响页面的布局。

如果在display完成后将inline属性设置回blockfadeOut(),则元素将保持可点击状态。您可以使用complete的{​​{1}}参数执行此操作。这样的事情应该有效:

fadeOut()

答案 1 :(得分:0)

.fadeOut是complet元素display是none且不可点击。您应该更改元素显示属性并将其隐藏visibility属性。我会这样做:

$(".link").fadeOut('slow', function(){
    //animation complete callback
    $(this).show().css('visibility', 'hidden');
});