问题:js是否有range方法快速生成数组?
解决:使用Array
方法:
[...Array(10).keys()]
如果在TypeScript里需要写成
Array.from(Array(10).keys())
分类 "JavaScript" 下的文章
问题:使用hover事件实现clearInterval时有时会失效
解决:setInterval和clearInterval必须一对一的,每一个set都需要clear
方法:
原因是当鼠标空降到元素时,不能运行clearInterval,所以使用mouseover替代
注:mouseenter也不可以
// 定时器
var timer = self.setInterval(run2, 3000);
//当鼠标划入,停止轮播图切换
$(".banner").hover(function(){
clearInterval(timer);
}, function(){
timer = setInterval(run2, 3000);
});
使用mouseover 和 mouseleave 替代hover,
// 定时器
var timer = self.setInterval(run2, 3000);
//当鼠标划入,停止轮播图切换
$(".banner").on("mouseover", function(){
clearInterval(timer);
});
$(".banner").on("mouseleave", function(){
timer = setInterval(run2, 3000);
});
问题:js如何判断手机端?
解决:使用正则匹配关键字Android、ios、iPhone
方法:
<script type="text/javascript">
var phone = navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i);
if(phone){
document.write('<link href="/static/css/m/index.css" type="text/css" rel="stylesheet" />');
}else{
document.write('<link href="/static/css/index.css" type="text/css" rel="stylesheet" />');
}
</script>
问题:如何实现点击后有效果的显示经验值
方法:
$("html,body").click(function(e){
var n=Math.round(Math.random()*100);
var $i=$("<b/>").text("+"+n);
var x=e.pageX,y=e.pageY;
$i.css({ "z-index":99999, "top":y-20, "left":x, "position":"absolute", "color":"#E94F06" });
$("body").append($i);
$i.animate( {"top":y-180,"opacity":0}, 1500, function(){
$i.remove();
});
e.stopPropagation();
});
问题:为什么js的cookie设置的是会话,但关闭浏览器后却仍存在呢?
解决:可能是因为浏览器设置了“在启动时显示上次未关闭的页面”
方法:
将浏览器设置成“在启动时显示主页”就可以了,这样关闭浏览器时,会话的cookie就会失效了