收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发.
17.阻止链接加载
有时你不希望链接到某个页面或者重新加载它,你可能希望它来做一些其他事情或者触发一些其他脚本,你可以这么做:
$('a.no-link').click(function (e) {
e.preventDefault();
});
18.切换 fade/slide
fade 和 slide 是我们在 jQuery 中经常使用的动画效果,它们可以使元素显示效果更好。但是如果你希望元素显示时使用第一种效果,而消失时使用第二种效果,则可以这么做:
// Fade
$('.btn').click(function () {
$('.element').fadeToggle('slow');
});
// Toggle
$('.btn').click(function () {
$('.element').slideToggle('slow');
});
19.简单的手风琴效果
这是一个实现手风琴效果快速简单的方法:
// Close all panels
$('#accordion').find('.content').hide();
// Accordion
$('#accordion').find('.accordion-header').click(function () {
var next = $(this).next();
next.slideToggle('fast');
$('.content').not(next).slideUp('fast'); return false;
});
20.让两个 DIV 高度相同
有时你需要让两个 div 高度相同,而不管它们里面的内容多少。可以使用下面的代码片段:
var $columns = $('.column');var height = 0;
$columns.each(function () {
if ($(this).height() > height) {
height = $(this).height();
}
});
$columns.height(height);
这段代码会循环一组元素,并设置它们的高度为元素中的最大高。
21. 验证元素是否为空
This will allow you to check if an element is empty.
$(document).ready(function() {
if ($('#id').html()) {
// do something
}
});
22. 替换元素
Want to replace a div, or something else?
$(document).ready(function() {
$('#id').replaceWith('
<DIV>I have been replaced</DIV>
');
});
23. jQuery延时加载功能
Want to delay something?
$(document).ready(function() {
window.setTimeout(function() {
// do something
}, 1000);
});
24. 移除单词功能
Want to remove a certain word(s)?
$(document).ready(function() {
var el = $('#id');
el.html(el.html().replace(/word/ig, ""));
});
25. 验证元素是否存在于jquery对象集合中
Simply test with the .length property if the element exists.
$(document).ready(function() {
if ($('#id').length) {
// do something
}
});
26. 使整个DIV可点击
Want to make the complete div clickable?
$(document).ready(function() {
$("div").click(function(){
//get the url from href attribute and launch the url
window.location=$(this).find("a").attr("href"); return false;
});// how to use<DIV><A href="index.html">home</A></DIV>});
27. ID与Class之间转换
当改变Window大小时,在ID与Class之间切换
$(document).ready(function() {
function checkWindowSize() {
if ( $(window).width() > 1200 ) {
$('body').addClass('large');
} else {
$('body').removeClass('large');
}
}
$(window).resize(checkWindowSize);
});
28. 克隆对象
Clone a div or an other element.
$(document).ready(function() {
var cloned = $('#id').clone();// how to use<DIV id=id></DIV>});
29. 使元素居屏幕中间位置
Center an element in the center of your screen.
$(document).ready(function() {
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;
}
$("#id").center();
});
30. 写自己的选择器
Write your own selectors.
$(document).ready(function() {
$.extend($.expr[':'], {
moreThen1000px: function(a) {
return $(a).width() > 1000;
}
});
$('.box:moreThen1000px').click(function() {
// creating a simple js alert box
alert('The element that you have clicked is over 1000 pixels wide');
});
});
31. 统计元素个数
Count an element.
$(document).ready(function() {
$("p").size();
});
32. 使用自己的 Bullets
Want to use your own bullets instead of using the standard or images bullets?
$(document).ready(function() {
$("ul").addClass("Replaced");
$("ul > li").prepend(" "); // how to use
ul.Replaced { list-style : none; }
});
33. 引用Google主机上的Jquery类库
Let Google host the jQuery script for you. This can be done in 2 ways.
//Example 1
<SCRIPT src="http://www.google.com/jsapi"></SCRIPT>
<SCRIPT type=text/javascript>
google.load("jquery", "1.2.6");
google.setOnLoadCallback(function() {
// do something
});
</SCRIPT><SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>
// Example 2:(the best and fastest way)
<SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></SCRIPT>
34. 禁用Jquery(动画)效果
Disable all jQuery effects
$(document).ready(function() {
jQuery.fx.off = true;
});
35. 与其他Javascript类库冲突解决方案
To avoid conflict other libraries on your website, you can use this jQuery Method, and assign a different variable name instead of the dollar sign.
$(document).ready(function() {
var $jq = jQuery.noConflict();
$jq('#id').show();
});
程序猿都要了解的35个 jQuery 小技巧(上)