26个 jQuery 使用小技巧

/*
1. Disable right-click(禁用右键)
Disable right-click contextual menu.
*/
$(document).ready(function(){ 
	$(document).bind(”contextmenu”,function(e){ 
		return false; 
	}); 
}); 

/*
 * 2. Disappearing search field text(隐藏搜索文本框文字)
Hide when clicked in the search field, the value.(example can be found below in the comment fields)
 */
$(document).ready(function() { 
	$(”input.text1″).val(”Enter your search text here”); 
	textFill($('input.text1′)); 
});

function textFill(input){ // input focus text function
	var originalvalue = input.val(); 
	input.focus( function(){ 
		if( $.trim(input.val()) == originalvalue ){ input.val(”); } 
	}); 
	input.blur( function(){
		if( $.trim(input.val()) == ” ){ input.val(originalvalue); } 
	});
}

/*
3. Opening links in a new window(在新窗口中打开链接)
XHTML 1.0 Strict doesn't allow this attribute in the code, so use this to keep the code valid.
*/
$(document).ready(function() { 
	// Example 1: Every link will open in a new window
	$('a[href^="http://"]').attr(”target”, "_blank”);

	// Example 2: Links with the rel=”external” attribute will only open in a new window
	$("a[rel$='external']").click(function(){
		this.target = "_blank"; 
	}); 
});

/*
4. Detect browser(检测浏览器)
Change/add something for a certain browser.
Notice: As of jQuery 1.4, the $.browser variable is replaced by $.support.
 */

$(document).ready(function() { 
	// Target Firefox 2 and above
	if ($.browser.mozilla && $.browser.version >= "1.8″ ){ 
		// do something
	}
	
	// Target Safari
	if( $.browser.safari ){ 
		// do something
	}
	
	// Target Chrome
	if( $.browser.chrome){ 
		// do something
	}
	
	// Target Camino
	if( $.browser.camino){ 
		// do something
	}
	
	// Target Opera
	if( $.browser.opera){ 
		// do something
	}
	
	// Target IE6 and below
	if ($.browser.msie && $.browser.version <= 6 ){
		// do something 
	}
	// Target anything above IE6 
	if($.browser.msie && $.browser.version > 6){
		// do something
	}
}); 

/*
5. Preloading images(预加载图片)
This piece of code will prevent the loading of all images, which can be useful if you have a site with lots of images.
这段代码有问题
*/
$(document).ready(function() {
	jQuery.preloadImages = function(){
		for(var i = 0; i”).attr(”src”, arguments[i]); 
	}
}
// how to use
$.preloadImages(”image1.jpg”); 
}); 


/*
6. css Styleswitcher(页面样式切换)
Switch between different styles?
*/
$(document).ready(function() {
	$("a.Styleswitcher").click(function() {
		// swicth the LINK REL attribute with the value in A REL attribute
		$('link[rel=stylesheet]').attr('href' , $(this).attr('rel')); 
	});
});

/*
7. Columns of equal height(列高度相同)
If you are using two css columns, use this to make them exactly the same height.
*/
$(document).ready(function() {
	function equalHeight(group) { 
		tallest = 0; 
		group.each(function() { 
			thisHeight = $(this).height(); 
			if(thisHeight > tallest) { 
				tallest = thisHeight; 
			} 
		}); 
		group.height(tallest); 
	}
	// how to use
	equalHeight($(".left")); 
	equalHeight($(".right")); 
}); 

/*
8. Font resizing(动态控制页面字体大小)
Want to let the users change there font size?
*/
$(document).ready(function() { 
	// Reset the font size(back to default)
	var originalFontSize = $('html').css('font-size'); 
	$(".resetFont").click(function(){ 
		$('html').css('font-size', originalFontSize); 
	}); 
	// Increase the font size(bigger font0
	$(".increaseFont").click(function(){ 
		var currentFontSize = $('html').css('font-size'); 
		var currentFontSizeNum = parseFloat(currentFontSize, 10); 
		var newFontSize = currentFontSizeNum*1.2; 
		$('html').css('font-size', newFontSize); 
		return false; 
	}); 
	// Decrease the font size(smaller font)
	$(".decreaseFont").click(function(){ 
		var currentFontSize = $('html').css('font-size'); 
		var currentFontSizeNum = parseFloat(currentFontSize, 10); 
		var newFontSize = currentFontSizeNum*0.8; 
		$('html').css('font-size', newFontSize); 
		return false; 
	}); 
}); 

/*
9. Smooth(animated) page scroll( 返回页面顶部功能)
For a smooth(animated) ride back to the top(or any location).
*/
$(document).ready(function() {
	$('a[href*=#]').click(function() { 
		if (location.pathname.replace(/^///,"") == this.pathname.replace(/^///,"") && location.hostname == this.hostname) { 
			var $target = $(this.hash); 
			$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']'); 
			if ($target.length) { 
				var targetOffset = $target.offset().top; 
				$('html,body').animate({scrollTop: targetOffset}, 900); 
				return false; 
			}
		}
	});
});

/*
11. Get the mouse cursor x and y axis(获得鼠标指针的坐标值)
Want to know where your mouse cursor is?
*/
$(document).ready(function() {
	$().mousemove(function(e){
		// display the x and y axis values inside the div with the id XY
		$('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY); 
	});
});

/*
12. Verify if an Element is empty(验证元素是否为空)
This will allow you to check if an element is empty.
*/
$(document).ready(function() {
	if ($('#id').html()) {
		// do something
	}
});

/*
13. Replace a element(替换元素)
Want to replace a div, or something else?
*/
$(document).ready(function() { 
	$('#id').replaceWith('
  
I have been replaced
'); }); /* 14. jQuery timer callback functions(jQuery延时加载功能) Want to delay something? */ $(document).ready(function() { window.setTimeout(function() { // do something }, 1000); }); /* 15. Remove a word(移除单词功能) Want to remove a certain word(s)? */ $(document).ready(function() { var el = $('#id'); el.html(el.html().replace(/word/ig, "")); }); /* 16. Verify that an element exists in jQuery(验证元素是否存在于 jQuery 对象集合中) Simply test with the .length property if the element exists. */ $(document).ready(function() { if ($('#id').length) { // do something } }); /* 17. Make the entire DIV clickable(使整个 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; }); }); /* 18. Switch between classes or id's when resizing the window.(ID与Class之间转换) Want to switch between a class or id, when resizing the window? */ $(document).ready(function() { function checkWindowSize() { if ( $(window).width() > 1200 ) { $('body').addClass('large'); } else { $('body').removeClass('large'); } } $(window).resize(checkWindowSize); }); /* 19. Clone a object(克隆对象) Clone a div or an other element. */ $(document).ready(function() { var cloned = $('#id').clone(); }); }); /* 20. Center an element on the screen(使元素居屏幕中间位置) 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(); }); /* 21. Write our own selector(写自己的选择器) 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'); }); }); /* 22. Count a element(统计元素个数) Count an element. */ $(document).ready(function() { $("p").size(); }); /* 23. Use Your Own Bullets(使用自己的 Bullets) Want to use your own bullets instead of using the standard or images bullets? */ $(document).ready(function() { $("ul").addClass("Replaced"); $("ul > li").prepend("‒ "); }); /* 24. Let Google host jQuery for you(引用Google主机上的Jquery类库) Let Google host the jQuery script for you. This can be done in 2 ways. */ // Example 1 /* 25. Disable jQuery animations(禁用Jquery(动画)效果) Disable all jQuery effects */ $(document).ready(function() { jQuery.fx.off = true; }); /* 26. No conflict-mode(与其他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(); });

你可能感兴趣的:(jquery)