2013-07-12 32 views
0

我试图用另一个Intranet站点替换一个选取框,但仅在8和12之间的星期五进行火警测试。 以下是JSFiddle上的代码:http://jsfiddle.net/bmgh1985/7dKcN/(我想结束的版本也在那里,但更多的是为了清晰起见,而不是永久性地在页面上) 这里是我到目前为止所使用的jQuery:在某个特定时间每周替换HTML的函数

function firealarm() { 
    var d = new Date(); 
    var x = d.getday(); 
    var n = d.getHours(); 
    if (n > 8 && n < 12 && x = 5) 
    $(‘.marqueeframe’).replaceWith('<marquee behavior="scroll" direction="left" scrollamount="5"><div class="falarm">The Fire Alarm will be tested this morning</div>><div class="falarm">The Fire Alarm will be tested this morning</div>><div class="falarm">The Fire Alarm will be tested this morning</div></marquee>'); 
} 
window.onload = firealarm; 

任何帮助,将不胜感激! Cheers

+4

逻辑应该是x === 5您将x分配给5 – raam86

回答

2

x = d.getDay(); 并且x == 5是有变化,它的工作

+0

感谢您的指针。主要问题似乎是实际替代(如果我花时间离开,它仍然不会取代)。有任何想法吗?还有关于如何让它不那么麻烦的想法? – bmgh1985

+0

我认为这里的问题是,你正试图用marquee替换一个div .. –

+0

使用以下命令删除现有的选取框.. $('marquee')。remove(); 使用循环内的以下 $ replaceWith( '

The Fire Alarm will be tested this morning
')( “marqueeframe。”); –

1

有与代码几个问题:

Demo

注意的变化:

if (n > 8 && n < 12 x === 5) -> if (n > 8 && n < 12 && x === 5)

$(‘.marqueeframe’) -> $('.marqueeframe')

replaceWith('<marquee ...</marquee>'); -> replaceWith('<div class="firealarm"><marquee...</marquee></div>'

我也删除了window.onload包装,只是因为它不需要在jsfiddle上,但是请保留原样在页面中。

+0

一些代码已经从代码中滑出来了(正如上面的OP中的&&)。真正的随机'而不是'导致了很多问题,但是(不知道为什么它要么)。 – bmgh1985

相关问题