1、jQuery实现的内链接平滑滚动
不需要使用太复杂的插件,只要使用下载这段代码即可实现基于内部链接的平滑滚动
$(\'a[href^=\"#\"]\').bind(\'click.smoothscroll\',function (e) { e.preventDefault(); var anchor = this.hash, $target = $(target); $(\'html, body\').stop().animate({ \'scrollTop\': $target.offset().top }, 500, \'swing\', function () { window.location.hash = anchor; }); });
2、使用jQuery获取所有节点
var $element = $(\'#gbtags\'); var $nodes = $element.contents(); $nodes.each(function() { if(this.nodeType === 3 && $.trim($(this).text())) { $(this).wrap(\'\'); } });
3、限制选择框选择个数
$(\"#categories option\").click(function(e){ if ($(this).parent().val().length < 2) { $(this).removeAttr(\"selected\"); } });
4、jQuery使用通配符来删除class
var _c = \'your-icon-class\' $(\'.currency\').removeClass (function (index, css) { return (css.match (/\\bicon-\\S+/g) || []).join(\' \'); }).addClass(\'icon-\'+_c);
5、切换启用和禁用
/* HTML | | <input type=\"text\" value=\"欢迎访问www.admin10000.com\" /><input type=\"button\" value=\"禁用按钮\" /> | | */ // Plugin (function ($) { $.fn.toggleDisabled = function () { return this.each(function () { var $this = $(this); if ($this.attr(\'disabled\')) $this.removeAttr(\'disabled\'); else $this.attr(\'disabled\', \'disabled\'); }); }; })(jQuery); // TEST $(function () { $(\'input:button\').click(function () { $(\'input:text\').toggleDisabled(); }); });
6、平滑滚动返回顶端
<h1 id=\"anchor\">admin10000.com</h1> <a class=\"topLink\" href=\"#anchor\">返回顶端</a> $(document).ready(function () { $(\"a.topLink\").click(function () { $(\"html, body\").animate({ scrollTop: $($(this).attr(\"href\")).offset().top + \"px\" }, { duration: 500, easing: \"swing\" }); return false; }); });
7、使用jQuery和Google Analytics来跟踪表单
var array1 = []; $(document).ready(function () { $(\'input\').change(function () { var formbox = $(this).attr(\'id\'); array1.push(formbox); console.log(\"you filled out box \" + array1); }); $(\'#submit\').click(function () { console.log(\'tracked \' + array1); //alert(\'this is the order of boxes you filled out: \' + array1); _gaq.push([\'_trackEvent\', \'Form\', \'completed\', \'\"\' + array1 + \'\"\']); }); });
8、超简单的密码强度提示
$(\'#pass\').keyup(function (e) { var strongRegex = new RegExp(\"^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$\", \"g\"); var mediumRegex = new RegExp(\"^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$\", \"g\"); var enoughRegex = new RegExp(\"(?=.{6,}).*\", \"g\"); if (false == enoughRegex.test($(this).val())) { $(\'#passstrength\').html(\'More Characters\'); } else if (strongRegex.test($(this).val())) { $(\'#passstrength\').className = \'ok\'; $(\'#passstrength\').html(\'Strong!\'); } else if (mediumRegex.test($(this).val())) { $(\'#passstrength\').className = \'alert\'; $(\'#passstrength\').html(\'Medium!\'); } else { $(\'#passstrength\').className = \'error\'; $(\'#passstrength\').html(\'Weak!\'); } return true; });
9、jQuery生成一个自动停靠页尾效果
// Window load event used just in case window height is dependant upon images $(window).bind(\"load\", function () { var footerHeight = 0, footerTop = 0, $footer = $(\"#footer\"); positionFooter(); function positionFooter() { footerHeight = $footer.height(); footerTop = ($(window).scrollTop() + $(window).height() - footerHeight) + \"px\"; /* DEBUGGING console.log(\"Document height: \", $(document.body).height()); console.log(\"Window height: \", $(window).height()); console.log(\"Window scroll: \", $(window).scrollTop()); console.log(\"Footer height: \", footerHeight); console.log(\"Footer top: \", footerTop); */ if (($(document.body).height() + footerHeight) < $(window).height()) { $footer.css({ position: \"absolute\" }).stop().animate({ top: footerTop }); } else { $footer.css({ position: \"static\" }); } } $(window) .scroll(positionFooter) .resize(positionFooter); });
10、预防对表单进行多次提交
$(document).ready(function() { $(\'form\').submit(function() { if(typeof jQuery.data(this, \"disabledOnSubmit\") == \'undefined\') { jQuery.data(this, \"disabledOnSubmit\", { submited: true }); $(\'input[type=submit], input[type=button]\', this).each(function() { $(this).attr(\"disabled\", \"disabled\"); }); return true; } else { return false; } }); });
11、图像等比例缩放
$(window).bind(\"load\", function() { // IMAGE RESIZE $(\'#product_cat_list img\').each(function() { var maxWidth = 120; var maxHeight = 120; var ratio = 0; var width = $(this).width(); var height = $(this).height(); if(width > maxWidth){ ratio = maxWidth / width; $(this).css(\"width\", maxWidth); $(this).css(\"height\", height * ratio); height = height * ratio; } var width = $(this).width(); var height = $(this).height(); if(height > maxHeight){ ratio = maxHeight / height; $(this).css(\"height\", maxHeight); $(this).css(\"width\", width * ratio); width = width * ratio; } }); //$(\"#contentpage img\").show(); // IMAGE RESIZE });
12、鼠标滑动时的渐入和渐出
$(document).ready(function(){ $(\".thumbs img\").fadeTo(\"slow\", 0.6); // This sets the opacity of the thumbs to fade down to 60% when the page loads $(\".thumbs img\").hover(function(){ $(this).fadeTo(\"slow\", 1.0); // This should set the opacity to 100% on hover },function(){ $(this).fadeTo(\"slow\", 0.6); // This should set the opacity back to 60% on mouseout }); });
13、制作等高的列
var max_height = 0; $(\"div.col\").each(function(){ if ($(this).height() > max_height) { max_height = $(this).height(); } }); $(\"div.col\").height(max_height);
14、图片预加载
(function($) { var cache = []; // Arguments are image paths relative to the current page. $.preLoadImages = function() { var args_len = arguments.length; for (var i = args_len; i--;) { var cacheImage = document.createElement(\'img\'); cacheImage.src = arguments[i]; cache.push(cacheImage); } } jQuery.preLoadImages(\"image1.gif\", \"/path/to/image2.png\");
15、获取 URL 中传递的参数
$.urlParam = function(name){ var results = new RegExp(\'[\\\\?&]\' + name + \'=([^&#]*)\').exec(window.location.href); if (!results) { return 0; } return results[1] || 0; }
16、禁用表单的回车键提交
$(\"#form\").keypress(function(e) { if (e.which == 13) { return false; } });
17、让整个DIV可以被点击
<div class = \"myBox\" > < a href = \"http://www.phpstudy.net\" > www.phpstudy.net < /a> </div > $(\".myBox\").click(function(){ window.location=$(this).find(\"a\").attr(\"href\"); return false; });
18、在新窗口打开链接 (target=”blank”)
$(\'a[@rel$=\'external\']\').click(function(){ this.target = \"_blank\"; });
大家可以结合之前小编整理的文章进行学习,把实用的jQuery代码片段进行汇总,以便日后学习使用。
本文地址:https://www.stayed.cn/item/2110
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我