Heim  >  Artikel  >  Web-Frontend  >  Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)_jquery

Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)_jquery

WBOY
WBOYOriginal
2016-05-16 18:33:291409Durchsuche

比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突问题。

具体如下:

1. 禁止右键点击

复制代码 代码如下:

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

2. 隐藏搜索文本框文字
复制代码 代码如下:

$(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 在新窗口中打开链接
复制代码 代码如下:

$(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";
});
});
// how to use
open link

4 检测浏览器
注: 在版本jQuery 1.4中,$.support 替换掉了$.browser 变量。
复制代码 代码如下:

$(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 // do something
}
// Target anything above IE6
if ($.browser.msie && $.browser.version > 6){
// do something
}
});

5 预加载图片
复制代码 代码如下:

$(document).ready(function() {
jQuery.preloadImages = function()
{
for(var i = 0; i").attr("src", arguments[i]);
}
};
// how to use
$.preloadImages("image1.jpg");
});

6 页面样式切换
复制代码 代码如下:

$(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'));
});
// how to use
// place this in your header

// the links
Default Theme
Red Theme
Blue Theme
});

7 列高度相同
如果使用了两个CSS列,使用此种方式可以是两列的高度相同。
复制代码 代码如下:

$(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
$(document).ready(function() {
equalHeight($(".left"));
equalHeight($(".right"));
});
});

8 动态控制页面字体大小
用户可以改变页面字体大小
复制代码 代码如下:

$(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 返回页面顶部功能
复制代码 代码如下:

$(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;
}
}
});
// how to use
// place this where you want to scroll to

// the link
go to top
});

10 获得鼠标指针XY值
复制代码 代码如下:

$(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);
});
// how to use

});

11 验证元素是否为空
复制代码 代码如下:

$(document).ready(function() {
if ($('#id').html()) {
// do something
}
});

12 替换元素
复制代码 代码如下:

$(document).ready(function() {
$('#id').replaceWith('
I have been replaced

');
});

13 jQuery延时加载功能
复制代码 代码如下:

$(document).ready(function() {
window.setTimeout(function() {
// do something
}, 1000);
});

14 移除单词功能
复制代码 代码如下:

$(document).ready(function() {
var el = $('#id');
el.html(el.html().replace(/word/ig, ""));
});

15 验证元素是否存在于Jquery对象集合中
复制代码 代码如下:

$(document).ready(function() {
if ($('#id').length) {
// do something
}
});

16 使整个DIV可点击
复制代码 代码如下:

$(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

});

17 ID与Class之间转换当改变Window大小时,在ID与Class之间切换
复制代码 代码如下:

$(document).ready(function() {
function checkWindowSize() {
if ( $(window).width() > 1200 ) {
$('body').addClass('large');
}
else {
$('body').removeClass('large');
}
}
$(window).resize(checkWindowSize);
});

18 克隆对象
复制代码 代码如下:

$(document).ready(function() {
var cloned = $('#id').clone();
// how to use

});

19 使元素居屏幕中间位置
复制代码 代码如下:

$(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();
});

20 写自己的选择器
复制代码 代码如下:

$(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');
});
});

21 统计元素个数
复制代码 代码如下:

$(document).ready(function() {
$("p").size();
});

22 使用自己的 Bullets
复制代码 代码如下:

$(document).ready(function() {
$("ul").addClass("Replaced");
$("ul > li").prepend("‒ ");
// how to use
ul.Replaced { list-style : none; }
});

23 引用Google主机上的Jquery类库Let Google host the jQuery script for you. This can be done in 2 ways.
复制代码 代码如下:

//Example 1


// Example 2:(the best and fastest way)


24. 禁用Jquery(动画)效果
复制代码 代码如下:

$(document).ready(function() {
jQuery.fx.off = true;
});

25.与其他Javascript类库冲突解决方案
复制代码 代码如下:

$(document).ready(function() {
var $jq = jQuery.noConflict();
$jq('#id').show();
});

26. Load() 函数的运用(页面载入提示):

> 首先写好 CSS,绝对定位到页面右上角。
复制代码 代码如下:

#loading {
    position:absolute;    z-index:900;text-align:center;
    background-color:#eef2fa;border:1px solid #d8e3e8;
    color:#000;font-size:12px;padding:3px;width:80px;
    right:0;top:0;
}

> 然后用 jQuery 然后在所有图片载入完成之后,隐藏 Loading DIV。
> 别忘记载入 jQuery 库哈,刚才测试代码的时候地址写错了,差点疯掉。
复制代码 代码如下:

<script> <BR>jQuery(document).ready(function($){ <BR>$('img').load(function(){ <BR> $('#loading').css("display","none"); <BR>}); <BR>}); <BR></script>

> 随便某处插入一个 DIV 即可,O(∩_∩)O 哈哈。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn