DIV

2010-09-09 21 views
1

所有我需要的定时显示是一些客户端代码的jQuery或JS X秒DIV

visibility : hidden; OR max-height : 50px;

或切换DIV的类\ ID后,将改变的div风格优选

回答

5

使用setTimeout

setTimeout(function(){ 
    // Change the style here... If using jQuery, it turns 
    $('#my_divs').css({'visibility':'hidden', 'max-height':'50px'}) 
    // or 
    $('#my_divs').addClass('my-custom-class'); 
}, x_seconds); 
+0

不需要引用属性名称。 – 2010-09-09 04:16:40

+0

如果它包含特殊字符,比如'max-height',你应该这样做。不知道,我倾向于在提到css属性时将它们放在一边,但这只是个人偏好。 – Chubas 2010-09-09 04:20:09

+0

@gradbot:不,你不这样做。属性名称仅被视为字符串,它们从不被视为变量。 – casablanca 2010-09-09 17:55:43

4

平原JavaScript解决方案:

setTimeout(function() { 
    document.getElementById('your_div_id').className = 'new_class_name'; 
}, X * 1000); // X = number of seconds 
+0

这也将删除其他类,你应该附加'className' – RobertPitt 2010-09-09 06:10:31

+0

真实的,但我不知道OP想要什么,他只是说“切换课程”。 – casablanca 2010-09-09 17:58:45

2
$(document).ready(function(){ 
    setTimeout('changeStyle()', 1000); //milliseconds 
}); 

function changeStyle() { 
    //do something useful 
} 
+4

改为使用'setTimeout(changeStyle,1000)'。 – 2010-09-09 04:15:48

+0

页面的其余部分在超时时间段内是否为交互式,请告知如何指定CSS – Moon 2010-09-09 04:18:56

+0

是的,页面仍然是交互式的 – 2010-09-09 04:20:01

0

如果u想要显示的时间一次又一次的一些秒后 然后用

setIntervel('changeStyle()',1000); 

和u只是想使用时间只有一次,然后用

setTimeout('changeStyle()',1000); 
function changeStyle() { 
// code to display time 
} 
1

以下是我在当前生产网站上使用的一种方法。

$("#divStampWrapper").delay(1500).fadeIn("fast").delay(2500).animate({ top: -250 }, 2500).delay(2500).fadeOut("slow"); 

说明: 基本上它抓住保持的图像,等待1.5秒开始,然后在衰落它来查看在div。一旦淡入淡出效果完成,它将等待另外2.5秒,并开始向上移动到新的最高位置。然后等待2.5秒钟并开始淡出。 我知道这比你要求的要多一点,但这是一个很好的例子,可以用计时器完成。