Javascript 使用jquery添加倒计时。把这一页弄乱了。我做错了什么?
首先,我已经读过了,在读过它之后,利用它所说的,我已经达到了 一个不同的问题:是的,它向我展示了如何插入脚本标记,但是当它插入时 它会“擦除”页面的其余部分: 我想使用jQuery添加计数器计时器脚本。就在id=“counter”参数图之后 然后在这个位置插入一个“计数器”: 因此,与此代码不同:Javascript 使用jquery添加倒计时。把这一页弄乱了。我做错了什么?,javascript,jquery,Javascript,Jquery,首先,我已经读过了,在读过它之后,利用它所说的,我已经达到了 一个不同的问题:是的,它向我展示了如何插入脚本标记,但是当它插入时 它会“擦除”页面的其余部分: 我想使用jQuery添加计数器计时器脚本。就在id=“counter”参数图之后 然后在这个位置插入一个“计数器”: 因此,与此代码不同: <body> <p> beginning of site</p> <table id="timer_table"> <tbody>
<body>
<p> beginning of site</p>
<table id="timer_table">
<tbody>
<tr>
<td>
<p id="counter" style="color: red;"> Here's the counter: </p>
</td>
</tr>
</tbody>
</table>
<p> rest of site...</p>
</body>
<body>
<p> beginning of site</p>
<table id="timer_table">
<tbody>
<tr>
<td>
<p id="counter" style="color: red;"> Here's the counter: </p>
<script>
var myCountdown1 = new Countdown({time:316});
</script>
</td>
</tr>
</tbody>
</table>
<p> rest of site...</p>
</body>
js1.js简单地说:
var myCountdown1 = new Countdown({time:316});
它不好用。
而不是得到这样的结果:
我得到这个:
当我试图检查页面源代码时,我什么也得不到
总而言之:
如何使用jquery在id=“counter”段落后面插入coundown并且它会像原始html中已经写入了这一行一样工作。
此外,我无法访问页面的html源代码。如果我有我会添加它自己,它会工作得很好,就像在第一个图片链接所示。因此,我不得不使用Jquery
您可以在这里尝试自己(使用第二个链接进行尝试):这就是我想要的:
但是使用jquery进行操作:
注意,在第二个链接中,请尝试放置
var myCountdown1 = new Countdown({time:316});
在ss1中,查看发生了什么。
谢谢。不要尝试插入脚本标记,而是使用倒计时计时器中的代码将其插入正确的位置。有关工作示例,请参见 关键部分是将容器添加到HTML中(在本例中,它是ID为
target\u location
的div
)
所以HTML变成了(在运行JS代码插入div之后)
场地起点
这是柜台:
网站的其余部分
然后是JS(添加新的div,然后运行倒计时)
$('#计数器')。在('')之后;
var myCountdown1=新的倒计时({time:316,target:'target_location'});
此外,我无法访问页面的html源代码
好吧,这是一个令人沮丧的问题。如果你不能按照@Blair McMillan的建议去做,你也可以选择一种远不如我想象的漂亮/直截了当/多才多艺/有用的方法:
var html = $("body").html();
var str = html.split(/<p id="counter" style="color: red;"> Here's the counter:/g);
new Countdown({time:99999999});
$("body").prepend(str[0] + '<p id="counter" style="color: red;"> Here\'s the counter:');
$("body").append(str[1]);
var html=$(“body”).html();
var str=html.split(/这是计数器:/g);
新的倒计时({时间:9999999});
$(“body”).prepend(str[0]+'
这是计数器:);
$(“正文”)。追加(str[1]);
小提琴:
我在干什么
希望这能告诉你,总是有其他的方法来做事情,你也可以改进它!也许我忽略了一些东西,但是如果你可以访问javascript,你所要做的就是在一个脚本标记中写入一行,我必须问你为什么不直接将js文件的内容写入begin而不是这个解决方法?我的意思是用var myCountdown1替换var脚本…因为它无论如何都是js?这不是问题,即使我使用这行:$('#counter')。在('var myCountdown1=new Countdown({time:316});')之后,我也会得到相同的结果(坏)结果。事实上,我的js文件比这长得多。我只是把它缩短成一行,因为我问了这个问题。它还是一样(糟糕)result.ty.这不是我的意思。我想说的是,当你可以从js调用文件本身时,为什么要尝试为dom写一个脚本标记。可能类似于.getScript,这样你就可以直接读取js文件的内容。布莱尔·麦克米兰:谢谢,这很有效。我不完全理解为什么,但是ty.Ye-我忘记了没有访问权限到html源代码,但如果我使用jquery首先添加这个div id=target_位置,然后使用该脚本,可能会起作用。我会尝试,这会起作用。对不起,我也忘了。我会更新我的答案。至于为什么会起作用,我想倒计时源可以告诉我去哪里,而不必是一个
tag。因此我找到了列出可选设置的源代码。其中一个是“target”它指定了它应该放在DOM中的位置。致Charlie:链接不起作用。这种情况在我身上经常发生,如果你使用页面末尾的便笺,然后尝试保存该内容,就会发生。不过感谢你的解释。它帮助我理解了一些内容,只需按上面的run键。我确实按了run键,计数器显示只有零,你的计数器显示的数字正确吗?奇怪。太糟糕了,如果我能用你所做的,那就太棒了。
<body>
<p> beginning of site</p>
<table id="timer_table">
<tbody>
<tr>
<td>
<p id="counter" style="color: red;"> Here's the counter: </p>
<div id="target_location"></div>
</td>
</tr>
</tbody>
</table>
<p> rest of site...</p>
</body>
$('#counter').after('<div id="target_location"></div>');
var myCountdown1 = new Countdown({time:316, target:'target_location'});
var html = $("body").html();
var str = html.split(/<p id="counter" style="color: red;"> Here's the counter:/g);
new Countdown({time:99999999});
$("body").prepend(str[0] + '<p id="counter" style="color: red;"> Here\'s the counter:');
$("body").append(str[1]);