您好,欢迎访问一九零五行业门户网

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

比如有禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的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
home
});
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 库哈,刚才测试代码的时候地址写错了,差点疯掉。
复制代码 代码如下:
> 随便某处插入一个 div 即可,o(∩_∩)o 哈哈。
其它类似信息

推荐信息