我的第一个基于jquery的滑块,需要一些错误处理
My first jQuery-based slider, needs some error handling
我是一个新手JS程序员制作自己的基于jQuery的滑块。以下是我到目前为止所做的:
HTML:<div id="keyVisual">
<p id="loading"><span>Loading Content...</span></p>
<ul id="keySlide">
<li id="slideSplash">SPLASH: no pager control on this slide</li>
<li id="slide01"><a href="http://yahoo.com/"></a></li>
<li id="slide02">
<div class="gchild">
<p>grand child content, feedly is a google reader alternative you might want to think.
</p>
<a href="http://feedly.com/" class="link">feedly</a>
</div>
</li>
<li id="slide03">
<div class="gchild">
<p>some grand child content3</p>
<a href="http://yahoo.com" class="link" target="_blank">Yahoo</a>
</div>
</li>
<li id="slide04">
<div class="gchild">
<p>some grand child content4</p>
<a href="http://google.com" class="link" target="_blank">Google</a>
</div>
</li>
</ul>
<div id="btnMoveNext" class="btnSlide"><a href="#">»</a></div>
<div id="btnMovePrev" class="btnSlide"><a href="#">«</a></div>
</div><!-- /#keyVisual -->
<!-- pager -->
<ul id="listTopKey" class="cf">
<li><a href="#slide01" class="no1">No.1</a></li>
<li><a href="#slide02" class="no2">No.2</a></li>
<li><a href="#slide03" class="no3">No.3</a></li>
<li><a href="#slide04" class="no4">No.4</a></li>
</ul>
对于JS,请参考JSFiddle
我还有最后一个问题希望解决。在脚本的最后,我编写了一个函数,用于监视每张幻灯片的背景图像的加载状态。当所有BG图片加载完成后,滑动条开始运行。
这看起来很好,我第一次访问的页面,但如果我点击一个链接去某个地方,然后回到这个滑块页面(使用浏览器后退按钮为例),它似乎滑块无法继续(只是堆栈在加载场景)。大多数情况下,这在Google Chrome和Firefox中都可以正常工作,但在IE中不行。
我认为我需要为这种情况做一些错误处理。我可以让setTimeout
函数在15秒后触发loader();
。有什么建议吗?
谢谢。
注:您可以随意自定义或实现代码,并将其用于您自己。
这里是您的代码的小修复。我还添加了错误处理程序。
$.each(_imgURLArr, function(i, val) {
var _tempImg = $('<img/>').attr('src', val),
handler = function(event) {
var img = $(this).off('.preloader');
console.log(val + 'is loaded!', img);
_imgCounter++;
console.log('counter is ' + _imgCounter);
if (_imgCounter == _childL) {
loader();
}
};
if (_tempImg[0].complete) {
handler.call(_tempImg[0], {});
} else {
_tempImg
.on('load.preloader', handler)
.on('error.preloader', function() {
var img = $(this).off('.preloader');
console.log('Error loading img', img);
});
}
});
相关文章:
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- RxJS:在循环中处理错误.js自定义驱动程序
- 通过 AJAX 检索 Blob 时处理错误消息
- Chai正如承诺:当承诺抛出错误时,处理错误
- 如何处理错误'控制台未定义'在powershell中
- Bloodhound的新Typeahead是如何处理错误的
- 请求管道处理错误
- Angular Jasmine SpyOn$resource处理错误
- 如何或如何使用firebase有效地处理错误
- 以处理错误的方式启动javascript承诺蓝鸟链
- JavaScript Regex over CSS:如何处理错误的类
- 模态中的 Django 形式:动态重定向和处理错误
- 在 Angular 中使用拦截器处理错误的通用方法
- Angular JSON-RPC:处理错误
- AngularJS - 处理错误错误:[ng:areq] 在此特殊情况下 (?)
- 绕过 javascript 的 chrome 和 FF 后台选项卡处理错误
- 如何使用 Q 和 JS 捕获或失败来处理错误
- 使用 window.onerror 和 try-catch 块处理错误之间的差异
- jQuery $.get 在处理错误时返回白色错误页
- 处理错误后提交索引数据库事务