我正在构建一个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();
}
};
答案 0 :(得分:1)
来自jQuery手册:
.fadeOut()方法可以设置匹配元素的不透明度。一旦不透明度达到0,显示样式属性将设置为none,因此该元素不再影响页面的布局。
如果在display
完成后将inline
属性设置回block
或fadeOut()
,则元素将保持可点击状态。您可以使用complete
的{{1}}参数执行此操作。这样的事情应该有效:
fadeOut()
答案 1 :(得分:0)
.fadeOut是complet元素display
是none且不可点击。您应该更改元素显示属性并将其隐藏visibility
属性。我会这样做:
$(".link").fadeOut('slow', function(){
//animation complete callback
$(this).show().css('visibility', 'hidden');
});