1

在我的页面中,我有一个 hidden <div>,例如:

<div id="myid"  style="display:none;">
    ...
</div>

当用户单击一个按钮时,我有一个javascript调用的代码$('#myid').show("slow");,因此显示了这个<div>

我的问题是什么时候<div>调用内部的代码:页面首次加载时还是仅显示时?

我担心的是,<div>我想在其中放置一个页面计数器(带有<iframe>),它应该只在<div>显示时调用。另一种方法是将代码放在 .h 中javascript,但我宁愿将其保留在页面中。

4

3 回答 3

0

加载页面时会调用 div 内的代码。因此,即使 div 保持隐藏状态,每次加载页面时都会调用计数器。所以你必须像这样使用javascript:

<div id="myid"  style="display:none;">
    ...
</div>

<script>
function showCounter() {
    document.getElementById("myid").innerHTML = '<script>counter-code</script>';
    document.getElementById("myid").show('slow');
}
</script>

并将函数 showCounter 添加到您的按钮。

于 2013-04-26T13:58:20.037 回答
0

它会在页面加载时运行,display:none只影响可见性,与代码操作层无关(实际上,有些浏览器完全忽略了 CSS,无论如何都可能显示出来)。

如果您希望一段代码仅在单击 JavaScript 按钮时运行,您应该将该代码附加到 Javascript 函数。在您的页面上创建一个空 div,然后使用该函数将代码放入其中:

<div id="jsDiv"></div>

<script>
function jsCode() {
    document.getElementById('jsDiv').innerHTML = 'Whatever you want';
}
</script>

然后将该jsCode()函数附加到您的按钮上,HTML 只会在调用该函数时呈现。如果您正在使用服务器端脚本(PHP、Rails 等)或更复杂的东西,请查看jQueryAJAX函数。

于 2013-04-26T14:00:59.520 回答
-1

试试这样:

$(document).ready( function() {
$('#myid').show("slow")
}
于 2013-04-26T13:36:45.123 回答