jquery实用代码片段集合


Posted in Javascript onAugust 12, 2010

加载google的jquery库

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>

有利于加快加载速度(已经得到验证)。

修改图片src更新图片

$(imageobj).attr('src', $(imageobj).attr('src') + '?' + Math.random() );

这是很实用的技巧,曾经有人问明河,为什么他已经修改了图片的src,但图片没变化呢?原因在于缓存,给图片路径后加个随机数参数即可。

加载多张图片,判断加载完成状态

var totalimages = 10;
var loadedimages = 0;
$("<img/>").load(function() {
++loadedimages;
if(loadedimages == totalimages){
//全部图片加载完成时…..
 }
 });

双击不选中文本

var clearSelection = function () {
if(document.selection && document.selection.empty) {
 document.selection.empty();
 } else if(window.getSelection) {
var sel = window.getSelection();
 sel.removeAllRanges();
 }
 }

 $(element).bind('dblclick',function(event){
 clearSelection();
 });

对一个列表进行排序

<ul>
<li>cloud</li>
 <li>sun</li>
 <li>rain</li>
 <li>snow</li>
 </ul

var items = $('.to_order li').get();

 items.sort(function(a,b){
var keyA = $(a).text();
var keyB = $(b).text();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
 });
var ul = $('.to_order');
 $.each(items, function(i, li){
 ul.append(li);
 });

(中文无效)
绑定右击事件

$(document).ready(function(){
 $(document).bind("contextmenu",function(e){
return false;
 });
 });

 扩展jquery的对象选择器

$.extend($.expr[':'], {
//选择器名
 moreThanAThousand : function (a){
return parseInt($(a).html()) > 1000;
 }
 });
 $(document).ready(function() {
 $('td:moreThanAThousand').css('background-color', '#ff0000′);
 });

 检查对象是否存在

if ($("#elementid").length) {
//……
}

取消一个ajax请求

var req = $.ajax({
type: "POST",
url: "someurl",
data: "id=1″,
success: function(){

}
});
//取消ajax请求
req.abort()

检查cookies是否可用

$(document).ready(function() {
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 60);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
if(!cookiesEnabled){
//cookies不能用……..
}
});

获取当前元素在元素集内的索引值

$("ul > li").click(function () {
var index = $(this).prevAll().length;
 });
//如果用的是jquery1.4,明河推荐使用以下方法:
 $("ul > li").click(function () {
var index = $(this).index();
 });

 让一个元素相对于屏幕居中

jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() ? this.height() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() ? this.width() ) / 2+$(window).scrollLeft() + "px");
return this;
}
$(element).center();

这个方法非常实用,明河严重推荐收藏
获取当前页面的URL

$(document).ready(function() {
var pathname = window.location.pathname;
});

  

如何隐藏除了特定选择器下的全部对象

$('#target div:not(#exclude)').hide();
//或者
 $('#target').children().filter(':not(#exclude)').hide();

filter()起到过滤的作用。

寻找带有指定字符串的元素

var foundin = $('*:contains(" 明河")');

获取垂直滚动距离

alert($(document).scrollTop());

scrollTop()非常实用的一个方法。
向表格追加一行数据

$('#myTable tr:last').after('<tr>…</tr>');

超过一个属性时的过滤

var elements = $('#someid input[type=sometype][value=somevalue]').get();

让cookies在X分钟后过期

var date = new Date();
date.setTime(date.getTime() + (x * 60 * 1000));
$.cookie('example', 'foo', { expires: date });

选择从第一个到第X个的元素

//从第一个到第10个
$('a').slice(0,10);
//或者
$('a:lt(10)');

获取客户端的IP

$.getJSON("http://jsonip.appspot.com?callback=?",function(data){
 alert( "你的IP:" + data.ip);
 });

这是利用了jsonip.appspot.com提供的取IP服务。
解析XML数据源

<?xml version="1.0″ ?>
<result>
<item>
<id>1</id>
<title>title1</title>
<description>desc1</description>
</item>
<item>
<id>2</id>
<title>title2</title>
<description>desc2</description>
</item>
<!? … ?>
</result>

$.get('file.xml',{},function(data){
$('item',data).each(function(){
var $this       = $(this);
var id             = $this.find('id').text();
var title         = $this.find('title').text();
var description = $this.find('description').text();
//do something …
});
});

获取在id中的数字

<div id="sites">
<a id="site_1″ href="http://siteA.com">siteA</a>
<a id="site_2″ href="http://siteB.com">siteB</a>
<a id="site_3″ href="http://siteB.com">siteC</a>
…
</div>

$("#sites a").click(function(){
var $this     = $(this);
var nmb     = $this.attr('id').match(/site_(\d+)/)[1];
…
});

将类似12343778 转成 12.343.778的形式

var delimiter = '.';
 $('#result').html()
 .toString()
 .replace(new RegExp("(^\\d{"+($this.html().toString().length%3||-1)+"})(?=\\d{3})"),"$1″ + delimiter)
 .replace(/(\d{3})(?=\d)/g,"$1″ + delimiter);

这个正则值得收藏,颇为经典。
向firebug的控制面板发送消息

jQuery.fn.log = function (msg) {
 console.log("%s: %o", msg, this);
return this;
 };
 $('#some_div').find('li.source > input:checkbox').log("sources to uncheck").removeAttr("checked");

获取图片的宽高

var img = $('#imageid');
var theImage = new Image();
theImage.src = img.attr("src");
alert("Width: " + theImage.width);
alert("Height: " + theImage.height);

Javascript 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
解决jquery的.animate()函数在IE6下的问题
Dec 03 Javascript
javascript 函数及作用域总结介绍
Nov 12 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
Apr 06 Javascript
javascript实现的图片切割多块效果实例
May 07 Javascript
javascript中的正则表达式使用详解
Aug 30 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
JavaScript中使用构造函数实现继承的代码
Aug 12 #Javascript
javascript最常用与实用的创建类的代码
Aug 12 #Javascript
javascript中最常用的继承模式 组合继承
Aug 12 #Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 #Javascript
Javascript倒计时代码
Aug 12 #Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 #Javascript
JavaScript 通过模式匹配实现重载
Aug 12 #Javascript
You might like
第二节 对象模型 [2]
2006/10/09 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
Dom 是什么的详细说明
2010/10/25 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
numpy.random模块用法总结
2019/05/27 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
记者岗位职责
2014/01/06 职场文书
学术会议邀请函范文
2014/01/22 职场文书
学生会离职感言
2014/02/11 职场文书
大学学风建设方案
2014/05/04 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
离婚协议书范文2014
2014/10/16 职场文书
跳高加油稿
2015/07/21 职场文书
春节随笔
2015/08/15 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript