常用的Jquery工具方法

一、根据后端动态字段,如何把驻点输出在页面上?
1、可以提前写好css,设置li的宽度,在页面中通过模板引擎语法动态加载不同的className。
2、可以根据驻点个数和位置,用jquery去动态计算赋值。

var paths = $('.detail-path');
$.each(paths, function(){
var points = $(this).children(),
pointsLen = points.length;
$.each(points, function(){
var $this = $(this),
middleNum = 100 / (pointsLen + 1),
halfSelfWidth = $this.width() / 2,
leftPercent = $this.attr('data-left') * middleNum;
$this.css({'left': leftPercent + '%', 'margin-left': -halfSelfWidth + 'px'}).show();
});
});

二、信息滚动

1、单行信息滚动

setInterval(this.marquee,3000);
marquee: function(){
var prizeul=$('#prizeul');//定义滚动区域
var fli=prizeul.find('li:first');
var flih=fli.height();//每次滚动高度
fli.animate({
marginTop:-flih+'px'
},600,function(){//通过取负margin值,隐藏第一行
fli.css('marginTop',0).appendTo(prizeul);//隐藏后,将该行的margin值置零,并插入到最后,实现无缝滚动
})
},

2、鼠标移进停止滚动,移出继续滚动

var vid = setInterval(marquee,3000);
$('.J-scroll').mouseenter(function(){
clearInterval(vid);
}).mouseleave(function(){
vid = setInterval(marquee,3000);
});

三、回到顶部

//页面滚动时,是否显示回到顶部
$(window).scroll(function(){
if($(window).scrollTop() > 1500){
$('.returntop').show();
}else{
$('.returntop').hide();
}
}); //回到顶部的点击事件
$('.returntop').click(function(){
var timer = null;
timer = setInterval(function(){
var top = document.documentElement.scrollTop || document.body.scrollTop;
var speed = Math.ceil(top/6);//高度小于6时可以一直递减到0
document.documentElement.scrollTop = top - speed;//缓慢增加
document.body.scrollTop = top - speed;
if(!top){
clearInterval(timer);
}
},50);
});

四、懒加载

<script type="text/javascript" src="/js/lazyload/jquery.js"></script>
<script>
$(document).ready(function(){
// 获取页面视口高度
var viewportHeight = $(window).height();
var lazyload = function() {
// 获取窗口滚动条距离
var scrollTop = $(window).scrollTop();
$('img').each(function(){
// 判断视口高度+滚动条距离与图片元素距离文档原点的高度
var x = scrollTop + viewportHeight - $(this).position().top;
// 如果大于0即该元素能被浏览者看到,则将暂存于自定义属性loadpic的值赋值给真正的src
if (x > 0){
$(this).attr('src',$(this).attr('loadpic'));
}
});
}
// 创建定时器 “实时”计算每个元素的src是否应该被赋值
setInterval(lazyload,100);
});
</script>

五、获取文本框的焦点时,如何使光标停留在文字后面?

var t = $("#J_input").val();
$("#J_input").val("").focus().val(t);

先获取内容,将其置空,然后获取焦点,最后填充内容,即可实现光标出现在文字后面的功能。

六、表单复选框,全选,取消子选项

<input name='selectall' type='checkbox' id="J_select_all_btn"> 全选
<input name='jsframe' type='checkbox'>es5
<input name='jsframe' type='checkbox'>es6
<input name='jsframe' type='checkbox'>reactjs
<input name='jsframe' type='checkbox'>vuejs
<input name='jsframe' type='checkbox'>angularjs
<input name='jsframe' type='checkbox'>jquery
//给全选按钮绑定事件
$("#J_select_all_btn").click(function() {
$('input[name="jsframe"]').attr("checked", this.checked);
});
var $jsframe = $("input[name='jsframe']");
//给每个checkbox绑定事件
$jsframe.click(function() {
$("#J_select_all_btn").attr("checked", $jsframe.length == $("input[name='jsframe']:checked").length ? true: false);
});
上一篇:技嘉主板+AMD CPU开启CPU虚拟化方法


下一篇:Oracle 动态sql 实现方式