50个比较实用jQuery代码段(2)

19. 如何自动滚动到页面中的某区域

jQuery.fn.autoscroll = function(selector) { $('html,body').animate( {scrollTop: $(selector).offset().top}, 500 }; } //然后像这样来滚动到你希望去到的class/area上。 $('.area_name').autoscroll();

20. 如何检测各种浏览器:

检测Safari (if( $.browser.safari)), 检测IE6及之后版本 (if ($.browser.msie && $.browser.version > 6 )), 检测IE6及之前版本 (if ($.browser.msie && $.browser.version <= 6 )), 检测FireFox 2及之后版本 (if ($.browser.mozilla && $.browser.version >= '1.8' ))

21. 如何替换串中的词

var el = $('#id'); el.html(el.html().replace(/word/ig, '')); 22. 如何禁用右键单击上下文菜单: $(document).bind('contextmenu',function(e){ return false; });

23. 如何定义一个定制的选择器

$.expr[':'].mycustomselector = function(element, index, meta, stack){ // element- 一个DOM元素 // index – 栈中的当前循环索引 // meta – 有关选择器的元数据 // stack – 要循环的所有元素的栈 // 如果包含了当前元素就返回true // 如果不包含当前元素就返回false }; // 定制选择器的用法: $('.someClasses:test').doSomething();

24. 如何检查某个元素是否存在

if ($('#someDiv').length) { //万岁!!!它存在…… }

25. 如何使用jQuery来检测右键和左键的鼠标单击两种情况:

$("#someelement").live('click', function(e) { if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) { alert("Left Mouse Button Clicked"); } else if(e.button == 2) { alert("Right Mouse Button Clicked"); } });

26. 如何显示或是删除input域中的默认值

//这段代码展示了在用户未输入值时, //如何在文本类型的input域中保留 //一个默认值 wap_val = []; $(".swap").each(function(i){ wap_val[i] = $(this).val(); $(this).focusin(function(){ if ($(this).val() == wap_val[i]) { $(this).val(""); } }).focusout(function(){ if ($.trim($(this).val()) == "") { $(this).val(wap_val[i]); } }); }); <input type="text" value="Enter Username here.." />

27. 如何在一段时间之后自动隐藏或关闭元素(支持1.4版本):

//这是1.3.2中我们使用setTimeout来实现的方式 setTimeout(function() { $('.mydiv').hide('blind', {}, 500) }, 5000); //而这是在1.4中可以使用delay()这一功能来实现的方式(这很像是休眠) $(".mydiv").delay(5000).hide('blind', {}, 500);

28. 如何把已创建的元素动态地添加到DOM中:

var newDiv = $(''); newDiv.attr('id','myNewDiv').appendTo('body');

29. 如何限制“Text-Area”域中的字符的个数:

jQuery.fn.maxLength = function(max){ this.each(function(){ var type = this.tagName.toLowerCase(); var inputType = this.type? this.type.toLowerCase() : null; if(type == "input" && inputType == "text" || inputType == "password"){ //Apply the standard maxLength this.maxLength = max; } else if(type == "textarea"){ this.onkeypress = function(e){ var ob = e || event; var keyCode = ob.keyCode; var hasSelection = document.selection? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd; return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !ob.ctrlKey && !ob.altKey && !hasSelection); }; this.onkeyup = function(){ if(this.value.length > max){ this.value = this.value.substring(0,max); } }; } }); }; //用法 $('#mytextarea').maxLength(500);

30. 如何为函数创建一个基本的测试

//把测试单独放在模块中 module("Module B"); test("some other test", function() { //指明测试内部预期有多少要运行的断言 expect(2); //一个比较断言,相当于JUnit的assertEquals equals( true, false, "failing test" ); equals( true, true, "passing test" ); });

31. 如何在jQuery中克隆一个元素:

var cloned = $('#somediv').clone();

32. 在jQuery中如何测试某个元素是否可见

if($(element).is(':visible') == 'true') { //该元素是可见的 }

33. 如何把一个元素放在屏幕的中心位置:

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

34. 如何把有着某个特定名称的所有元素的值都放到一个数组中:

var arrInputValues = new Array(); $("input[name='table[]']").each(function(){ arrInputValues.push($(this).val()); });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdjsfz.html