- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面附有代码,我正在尝试使用 javascript 制作横幅。
使用 setInterval 我做了一个循环,一个接一个地显示 3 个 div。
我遇到的问题是,当循环结束时,有一个按钮显示“返回”,即再次循环横幅运行,但运行得更快,我不知道为什么会发生这种情况,如1秒(1000),每次单击按钮速度都会增加。
为什么会发生这种情况?
有什么想法吗?
非常感谢
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var i = 0;
var refreshIntervalId = setInterval(Ver,1000);
$( document ).ready(function() {
refreshIntervalId;
});
function Ver(){
if ( i == 0 ){
$("#div1").css("display","block");
$("#div2").css("display","none");
$("#div3").css("display","none");
}
if ( i == 1 ){
$("#div2").css("display","block");
$("#div1").css("display","none");
$("#div3").css("display","none");
}
if ( i == 2 ){
$("#div3").css("display","block");
$("#div2").css("display","none");
$("#div1").css("display","none");
clearInterval(refreshIntervalId);
}
i++;
}
function Volver(){
i = 0;
var refreshIntervalId = setInterval(Ver,1000);
}
</script>
<div id="div1" style="background:#F00;width:300px;height:300px;display:none">
</div>
<div id="div2" style="background:#00F;width:300px;height:300px;display:none">
</div>
<div id="div3" style="background:#0FF;width:300px;height:300px;display:none">
<input type="button" value="volver" onclick="Volver()" />
</div>
最佳答案
<强> Demo
您没有清除您创建的第一个间隔,因此多个间隔同时运行
function Volver(){
i = 0;
clearInterval(refreshIntervalId);
refreshIntervalId = setInterval(Ver,1000);
}
此外,您还有很多不必要的代码。见下文。
<input type="button" value="volver" /> <!-- remove the onclick - you're using jQuery -->
JS
var i = 0;
var refreshIntervalId; // don't start the interval here- reuse the function you created
$( document ).ready(function() {
// Since you want this button to do the same thing anyway,
// bind this event and trigger it rather then execute the function separately
$('input').on('click', Volver).trigger('click');
});
function Ver(){
// show programatically, and hide by using .siblings() rather than
// writing out many lines
$("#div" + (i+1)).show().siblings().hide();
i++;
// self-clear after 3 iterations as there are no more divs
if (i>2) clearInterval(refreshIntervalId);
}
function Volver(){
i = 0;
clearInterval(refreshIntervalId);
refreshIntervalId = setInterval(Ver,1000);
}
关于javascript - 横幅 javascript 变得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32490891/
相信我,我在 Adsense 论坛(西类牙语和英语)中问过这个问题,还检查了以下资源和问题: 1 - 2 - 3 - 4 我有一个实际与 AdMob 配合使用的 AdSense 帐户。我们在 Andr
我想创建一个标题图像/横幅,单击播放图像后,它会垂直扩展以播放YouTube上托管的视频。 此页面准确显示了我要执行的操作: blendedlearningnow.com/about。 我不确定这是否
这里有一个漂亮的 Flash 横幅:http://osc4.template-help.com/drupal_30779/ 。我想知道是否有一个 jquery 库可以让我达到同样的效果。 (点击、滑动
我在一个宽度为 960px 的容器 div 中有一个标题。页眉包含几个完全位于页面中央的 Logo 。我想有一个背景渐变永远延伸到标题后面。出现问题是因为渐变横幅受限于 960px 的宽度。我尝试将横
有谁知道是否可以创建一个功能标题生成器,使用户能够使用颜色、图像和文本对其进行自定义?然后保存并添加到他们的网站? I have created a feature banner demo here
通常在我的网页中,我会有一个 #wrapper DIV 来包装整个页面并设置为如下内容: #wrap {position: relative; width: 1000px; display: bloc
我正在寻找一种动态创建可以放置在其他页面上的横幅的方法。横幅包含一个背景图像、两个重叠图像和两个位于该背景图像之上的文本标签。 是不是只能用绝对定位来实现元素的叠加?我如何确保横幅本身相对放置在集成页
我有一个 900 x 80 的标题区域,以及一个适合该区域左上角的 175 x 75 Logo 。我想要做的是使用 jquery 将 Logo 从标题区域的右侧移动到左侧,然后卡住并设置在左侧。我知道
我成功地在页脚上显示智能横幅,然后将其处理掉。我的问题是显示在应用程序的所有页面上。 我的问题是:如何只显示在一页上? @override void initState() { super.i
我主要是一名开发人员,不知道使用 Adobe Flash CS4。是否有一种简单的方法可以将链接添加到 Flash 横幅。我有 .flv 文件,其中包含库中的一些项目和两层。 请给我一步一步的指示
如何在响应式布局中处理 Adsense 横幅? 据我从 Adsense TOS 中了解到,我几乎不允许在客户端对横幅做任何事情,所以我不能在客户端将横幅切换到较小的分辨率,如果它是低分辨率的. 似乎我
ChannelBannerResource chBannerResource = new ChannelBannerResource(); chBannerResource.setKind("yout
下面附有代码,我正在尝试使用 javascript 制作横幅。 使用 setInterval 我做了一个循环,一个接一个地显示 3 个 div。 我遇到的问题是,当循环结束时,有一个按钮显示“返回”,
我即将在拥有 1000 个活跃用户的应用程序中实现 AdMob 横幅。 我有 1 个 main Activity,其中包含 5 个 fragment,每个 fragment 代表不同的选项卡。 我应该
我尝试在我的应用中实现 AdMob 横幅,但它没有显示。我已经使用了横幅,并且总是使用相同的方式..我有一个带有 View 的 FrameLayout 。此 FrameLayout 位于 Linear
我在我的第一款游戏中使用 Andengine 与 Mobclix 结合使用,每当我尝试运行该应用程序时,我都会在 LogCat 中收到巨大错误。我到处都搜索过,但似乎找不到答案。 FATAL EXCE
JS: document.getElementsByTagName("input, select, textarea, option, optgroup, fieldset, label").onch
我想在页面底部安装一个横幅,但它与主屏幕的内容重叠。在主屏幕中有很多内容并且有滚动。 有人知道为什么吗?谢谢。 XML android:id="
我想在屏幕顶部显示横幅,但是有问题。在我的代码中(这不是我的代码,因为我正在学习过程中)我有两个选择。在屏幕底部的屏幕下方或上方显示横幅。 public void showBanner(fin
我的 AdMob 横幅显示在屏幕顶部而不是底部。 这是我的代码: adView = new AdView(mSingleton); adView.setAdSize(AdSize.SMART_BANN
我是一名优秀的程序员,十分优秀!