`

jQuery实例应用(一)

阅读更多

暂时实现目前jQuery应用,以后会渐渐添加一些新的jQuery应用

 

1.实现动态加载显示内容

jQuery动态加载内容.htm

CSS:

a{ text-decoration:none; color:White;}

a:hover{ font-weight:bolder;}  当鼠标移到a上时字体变粗,以便区别

ul{ list-style-type:none; padding-left:0px;}   ul默认padding-left:40px  这个可以看开发人员工具的盒子模型

li{ float:left; padding:5px; background-color:Green;}  float:left使li横排显示

#content{ clear:both;}

http://hi.baidu.com/eb21/blog/item/4b0b54cec3d4470a93457e4e.html

http://www.xfsq.net/thread-8285-1-1.html       ul li 样式

jQuery:

$(function(){

$("#dh li a").click(function(){

var loadurl=$(this).attr("href");

$("#content").hide("slow",toLoad);

function toLoad(){

$("#content").load(loadurl+" #content"); 每个页面的都有id=content的div 方便加载到哪里及从哪里加载

$("#content").show("normal");}

return false;     这一句是必须的,除了结束该单击事件外(反正该执行的都执行完了) 还可以取消(return true或没有就是不取消)某元素的默认动作,如这里是标签a,将不会执行浏览器默认动作即转向href指向的页面

})

})

<ul id="dh">

<li><a href="jQuery动态加载内容.htm">首页</a></li>

<li><a href="Login.htm">登录</a></li>

<li><a href="About.htm">About</a></li>

</ul>

<div id="content">

这里是首页!

</div>

Login.htm

<div id="content">

用户名<input type="text" />

密码<input type="password" />

<input type="button" value="提交" />

</div>

About.htm

<div id="content">

这里是About页面!

</div>

以上基本实现了动态加载显示内容的效果,但还有些问题

①用户点击一个导航按钮后,该导航按钮应该显示不同样式以便用户知道点了哪个,可添加以下代码

$("#dh li a").click(function(){

var loadurl=$(this).attr("href");

$("#content").hide("slow",toLoad);

function toLoad(){

$("#content").load(loadurl+" #content");

$("#content").show("normal");}

$("#dh li").filter(".red").removeClass("red");

$(this).parent().addClass("red");

return false;

})

使用filter()函数过滤出之前点击的导航按钮(这里之前点击的导航按钮css类为red)  为当前点击的导航按钮添加css类red(由于点击事件是位于li里的a,所以需要parent选出当前a的父元素li) 

②当动态加载内容时需要有一个正在加载页面...的提示,而load(url,[callback])函数的第二个参数函数是在请求完成时进行的,所以不行,可像如下操作

$("#dh li a").click(function(){

var loadurl=$(this).attr("href");

$("#content").hide("slow",toLoad);

$("#tishi").remove();       避免每次单击页面都多一个提示

$("#tishidiv").append('<span id="tishi" style="background-color:Red; color:White;">正在加载页面...</span>');

function toLoad(){

$("#content").load(loadurl+" #content");

$("#content").show("normal");

$("#tishi").fadeOut("normal");}     待load()请求执行完毕后淡出提示

$("#dh li").filter(".red").removeClass("red");

$(this).parent().addClass("red");

return false;

})

 

2.利用cookie插件实现网页主题的设置

<link id="css" href="red.css" rel="stylesheet" type="text/css" />

<script src="jQuery-cookie.js" type="text/javascript"></script>     cookie插件

<input type="button" id="blue" value="蓝色主题" />

<input type="button" id="red" value="红色主题" />

$("#blue").click(function(){

$("#css").attr({href:"blue.css"});

$.cookie("style","blue.css",{expires:1});

})

$("#red").click(function(){

$("#css").attr({href:"red.css"});

$.cookie("style","red.css",{expires:1});

})

var getcookie=$.cookie("style");

if(getcookie){

$("#css").attr({href:getcookie});}

该jQuery插件的使用   $("name","value",{expires:保留天数});   cookie名  cookie值  cookie保留天数

$("name",null);   删除某cookie

DownLoad jQuery.cookie.js

 

3.键盘快捷键切换页面

<ul id="ult">

<li id="zy">主页</li>

<li id="jy">交友</li>

<li id="rz">日志</li>

</ul>

<div id="dzy" class="nr">这是主页</div>

<div id="djy" class="nr">这是交友页</div>

<div id="drz" class="nr">这是日志页</div>

$(function(){

$(".nr").css("display","none");       先将三个div全部不显示

$("#dzy").css("display","block");   只显示主页div

$(document).keypress(function(e){   $(document).keypress()随时捕获按键事件

switch(e.keyCode){   keypress(fn)事件会给回调函数传递一个值,通过该值的keyCode属性获取按键的ASCII码值

case 97:showdiv("#dzy");break;

case 115:showdiv("#djy");break;

case 100:showdiv("#drz");break;}})

function showdiv(divid){

$(".nr").css("display","none");

$(divid).css("display","block");}

})

以上操作虽然能实现按键切换页面,但需要知道每个按键的ASCII码值不是很方便,并且不能使用组合键的形式,下面我们将用到一个js-hotkeys插件来解决这些问题  下载地址:http://code.google.com/p/js-hotkeys/

<script src="jquery.hotkeys-0.7.9.js" type="text/javascript"></script>  该插件封装了bind unbind俩函数

$(expression).bind(types,option,handler)   $(expression).bind(types,options,handler)

types: "keydown"  "keyup"  "keypress"

options:{combi:'alt+a',disableinInput:true}  当只设置combi时可只写字符串"alt+a"  disableinInput是设置是否当光标位于文本框时依然响应按键事件  true就是不响应,这样即使按了触发按键事件的按钮依然能输入  false就是响应

handler:响应函数

把上面的jQuery代码改成使用该插件的写法

$(function(){

$(".nr").css("display","none");

$("#dzy").css("display","block");

function showdiv(divid){    

$(".nr").css("display","none");

$(divid).css("display","block");}

$(document).bind('keydown',{combi:'alt+a',disableinInput:true},function(){

showdiv("#dzy");return false;})

$(document).bind('keydown',{combi:'alt+s',disableinInput:true},function(){

showdiv("#djy");return false;})

$(document).bind("keydown","alt+d",function(){

showdiv("#drz");return false;})

$(document).bind("keydown","ctrl+a",function(){

alert("ctrl+a");return false;})

})

有两点要说,一是一般组合键对应的是keyDown,否则你想你两个键都要按下再弹起后才触发事件不符合操作习惯

二是里面用到的return false;语句,前面也说过,return false可以阻止一些浏览器默认的动作,如上面的ctrl+a本来触发完按键事件后浏览器会执行全选动作,但由于加了return false;语句,此处将不会执行全选动作。

 

4.实现软键盘

 

<form action="jQuery软键盘.htm">
用户名:<input type="text" /><br />
密码:<input type="password" id="pwd" /><b id="softkeyboard">软键盘</b><br />
<input type="submit" value="提交" />
<div id="keyboard">
<div id="row0">
<input name="accent" type="button" value="`" />
<input name="1" type="button" value="1" />
<input name="2" type="button" value="2" />
<input name="3" type="button" value="3" />
<input name="4" type="button" value="4" />
<input name="5" type="button" value="5" />
<input name="6" type="button" value="6" />
<input name="7" type="button" value="7" />
<input name="8" type="button" value="8" />
<input name="9" type="button" value="9" />
<input name="0" type="button" value="0" />
<input name="-" type="button" value="-" />
<input name="=" type="button" value="=" />
<input name="backspace" type="button" value="Backspace" />
</div>
<div id="row0_shift">
<input name="tilde" type="button" value="~" />
<input name="exc" type="button" value="!" />
<input name="at" type="button" value="@" />
<input name="hash" type="button" value="#" />
<input name="dollar" type="button" value="$" />
<input name="percent" type="button" value="%" />
<input name="caret" type="button" value="^" />
<input name="ampersand" type="button" value="&" />
<input name="asterik" type="button" value="*" />
<input name="openbracket" type="button" value="(" />
<input name="closebracket" type="button" value=")" />
<input name="underscore" type="button" value="_" />
<input name="plus" type="button" value="+" />
<input name="backspace" type="button" value="Backspace" />
</div>
<div id="row1">
<input name="q" type="button" value="q" />
<input name="w" type="button" value="w" />
<input name="e" type="button" value="e" />
<input name="r" type="button" value="r" />
<input name="t" type="button" value="t" />
<input name="y" type="button" value="y" />
<input name="u" type="button" value="u" />
<input name="i" type="button" value="i" />
<input name="o" type="button" value="o" />
<input name="p" type="button" value="p" />
<input name="[" type="button" value="[" />
<input name="]" type="button" value="]" />
<input name="\" type="button" value="\" />
</div>
<div id="row1_shift">
<input name="Q" type="button" value="Q" />
<input name="W" type="button" value="W" />
<input name="E" type="button" value="E" />
<input name="R" type="button" value="R" />
<input name="T" type="button" value="T" />
<input name="Y" type="button" value="Y" />
<input name="U" type="button" value="U" />
<input name="I" type="button" value="I" />
<input name="O" type="button" value="O" />
<input name="P" type="button" value="P" />
<input name="{" type="button" value="{" />
<input name="}" type="button" value="}" />
<input name="|" type="button" value="|" />
</div>
<div id="row2">
<input name="a" type="button" value="a" />
<input name="s" type="button" value="s" />
<input name="d" type="button" value="d" />
<input name="f" type="button" value="f" />
<input name="g" type="button" value="g" />
<input name="h" type="button" value="h" />
<input name="j" type="button" value="j" />
<input name="k" type="button" value="k" />
<input name="l" type="button" value="l" />
<input name=";" type="button" value=";" />
<input name="'" type="button" value="'" />
</div>
<div id="row2_shift">
<input name="A" type="button" value="A" />
<input name="S" type="button" value="S" />
<input name="D" type="button" value="D" />
<input name="F" type="button" value="F" />
<input name="G" type="button" value="G" />
<input name="H" type="button" value="H" />
<input name="J" type="button" value="J" />
<input name="K" type="button" value="K" />
<input name="L" type="button" value="L" />
<input name=":" type="button" value=":" />
<input name='"' type="button" value='"' />
</div>
<div id="row3">
<input name="Shift" type="button" value="Shift" id="shift" />
<input name="z" type="button" value="z" />
<input name="x" type="button" value="x" />
<input name="c" type="button" value="c" />
<input name="v" type="button" value="v" />
<input name="b" type="button" value="b" />
<input name="n" type="button" value="n" />
<input name="m" type="button" value="m" />
<input name="," type="button" value="," />
<input name="." type="button" value="." />
<input name="/" type="button" value="/" />
</div>
<div id="row3_shift">
<input name="Shift" type="button" value="Shift" id="shifton" />
<input name="Z" type="button" value="Z" />
<input name="X" type="button" value="X" />
<input name="C" type="button" value="C" />
<input name="V" type="button" value="V" />
<input name="B" type="button" value="B" />
<input name="N" type="button" value="N" />
<input name="M" type="button" value="M" />
<input name="lt" type="button" value="&lt;" />
<input name="gt" type="button" value="&gt;" />
<input name="?" type="button" value="?" />
</div>
<div id="spacebar">
<input type="button" name="spacebar"  value=" " />
</div>
</div>
</form>

以上row0,1,2,3代表还没按shif键时的键盘  row0,1,2,3_shift代表按下shift键时的键盘 

CSS:

<style type="text/css">       刚开始键盘是隐藏的

#keyboard{ position:absolute; display:none; border:1px solid #ccc; width:640px; padding:10px; cursor:move;}  鼠标移上时变可移动状

#spacebar input{ width:180px;  margin-left:200px;}

#shift,#shifton{ width:70px; text-align:left;}

#row0_shift,#row1_shift,#row2_shift,#row3_shift{display:none;}  没按shift键时这些部分隐藏

#row0,#row0_shift{ padding-left:10px;}

#row1,#row1_shift{ padding-left:50px;}

#row2,#row2_shift{ padding-left:60px;}

#shifton{ border-left:3px solid #000; border-top:3px solid #000;}  按了shift键时shift键的样式

#softkeyboard{ cursor:pointer;}

</style>

jQuery:

<script type="text/javascript">

$(function(){

$("#softkeyboard").click(function(e){  单击"软键盘"

var mleft=e.pageX+5+"px";    设置显示的软件盘CSS的left及top值

var mtop=e.pageY+5+"px";

$("#keyboard").css({left:mleft,top:mtop}).toggle();  toggle显示软键盘

})

})

</script>

http://kendezhu.iteye.com/blog/986032最后讲的鼠标相关事件中都可以为fn传递一个参数,该参数的clinetX,clientY或pageX,pageY代表点击匹配元素或滑到匹配元素时鼠标的坐标,如下每当鼠标滑到xxx上时记录鼠标的坐标

$("#xxx").mouseover(function(e){

$("#xxx").append(e.clientX+","+e.pageY);})

下面来实现使用软键盘完成输入,往文本框里输入文字或删除文字需要用到一个插件fieldSelection

下载地址:http://plugins.jquery.com/project/fieldselection

var shifton=false;  表明一开始shift键处于没按状态

$("#keyboard input").click(function(){

if($(this).val()=="Backspace"){   按了退格键,但此处利用插件fieldSelection的replaceSelection函数没有实现(这里实现了)

$("#pwd").replaceSelection("",true);}replaceSelection函数可将选中文本由第一个参数替换,如果没选文本则在光标的后面添加第一个参数

else if($(this).val()=="Shift"){  按了shift键

if(shifton==false){

onShift(1); shifton=true;  onShit(1)函数用于显示按下shift键后显示的按钮  然后将shift键处于按下状态

}else{onShift(0); shifton=false;}

}else{

$("#pwd").replaceSelection($(this).val(),true); fieldSelection的replaceSelection函数实现了按普通键功能

}

})

function onShift(e){   onShit()函数用于控制按shift键后普通键盘的显示

if(e==1){

for(var i=0;i<4;i++){

var rowid="#row"+i;

$(rowid).hide();

$(rowid+"_shift").show();}

}else{

for(var i=0;i<4;i++){

var rowid="#row"+i;

$(rowid).show();

$(rowid+"_shift").hide();}

}}

再加一个拖拽软件盘的功能,用到easyDrag插件,下载地址:jquery.easydrag.js

<script src="jquery.easydrag.handler.beta2.js" type="text/javascript"></script>

$("#keyboard").easydrag();

分享到:
评论

相关推荐

    jQuery简单应用实例

    在上述给定文件信息中,我们看到了一个简单的jQuery应用实例,它通过在页面加载时弹出一个对话框,向用户展示“您好,欢迎来到jQuery世界”的问候语。这一过程不仅展示了jQuery的简洁性,同时也揭示了其与传统...

    jquery应用实例

    《jQuery应用实例详解》 jQuery,作为一款广泛应用于前端开发的JavaScript库,以其简洁的API和强大的功能,深受开发者喜爱。本篇文章将深入探讨jQuery在实际应用中的多种实例,帮助读者掌握并熟练运用jQuery,提升...

    jQuery炫酷应用实例集锦-源码.rar

    jQuery炫酷应用实例集锦-源码,主要是以前端js案例为主。

    JQuery应用实例学习(强烈推荐)

    JQuery应用实例学习(强烈推荐)---无私奉献了!!

    经典jquery案例 经典jquery

    "经典jquery案例 经典jquery"这个主题涵盖了几个实用且常见的jQuery应用,通过这些案例,我们可以深入理解jQuery的强大功能和便捷性。 首先,"可编辑表格"是网页交互中常见的一种功能,jQuery可以轻松实现这一需求...

    jquerymobile应用小实例

    《jQuery Mobile 应用小实例:自定义样式与提示弹窗》 在Web开发领域,jQuery Mobile是一款强大的框架,专为移动设备设计,提供了一套完整的用户界面组件和交互效果,使得开发者能够轻松构建响应式、触控友好的网页...

    锋利的jQuery实例

    《锋利的jQuery实例》是人民邮电出版社出版的一本深入浅出的jQuery教程,它以其丰富的实践案例,详尽地介绍了jQuery库的使用方法和技巧。jQuery是一个广泛应用于Web开发的JavaScript库,其核心特性在于它的轻量级...

    jquery 实例 经典呀

    这个"jQuery 实例 经典呀"的压缩包很可能是包含了一系列经典的 jQuery 使用示例,帮助开发者更好地理解和应用 jQuery。让我们深入探讨一下 jQuery 的核心概念和常见用法。 1. **选择器**: jQuery 的选择器类似于 ...

    jquery mobile 应用实例

    在"restaurant_picker"这个实例中,我们将深入探讨如何使用 jQuery Mobile 创建一个餐厅选择器应用。 首先,jQuery Mobile 的核心理念是“Write Less, Do More”,通过简单的 HTML 标签和类,即可实现复杂的 UI ...

    50个经典jquery实例

    这个“50个经典jQuery实例”压缩包显然包含了一系列精心挑选的示例,旨在帮助初学者快速掌握jQuery的核心功能和常用技巧。下面,我们将详细探讨这些实例可能涵盖的知识点,并解释它们在实际开发中的应用。 1. **...

    jQuery实例大全

    本资源集合,"jQuery实例大全",正是针对这一强大工具的实践应用展示,旨在帮助开发者深入理解和掌握jQuery的核心功能。 首先,我们来看"jQuery实现的可隐藏显示的登陆框"。这个实例展示了如何利用jQuery来创建一个...

    非常经典的35个Jquery应用实例

    JQuery 实例应用大全 JQuery 是一个功能强大的 JavaScript 库,提供了许多实用...本文的 35 个 JQuery 应用实例,涵盖了选择网页元素、链式操作、元素的操作等多个方面,为学习 JQuery 的开发者提供了一个系统的指南。

    jQuery炫酷应用实例集锦 JQ3.0 重写版

    原书的案例使用JQ2.X的版本实现的,这里就使用3.6重写了,省略了一些重复的案例。 - 大部分的API从使用方法上来说还是差不多的 - 有几个案例不知道是不是因为版本不同的关系导致运行失败,这里也重写了,对应的博客...

    jquery实例大全

    这个“jQuery实例大全”集合了众多实用的jQuery特效和功能,旨在帮助开发者快速理解和应用jQuery。 ### jQuery库 在jQuery库文件中,包含了核心的jQuery.js或jQuery.min.js,这是所有jQuery功能的基础。这个库提供...

    HTML5+JQuery Mobile 移动端WebApp案例

    本实例通过一个金融系统的移动端页面演示了这两者的应用,旨在促进学习和理解。 HTML5是超文本标记语言的最新版本,它引入了许多新特性以增强网页的交互性和功能。这些特性包括: 1. **离线存储**(Offline ...

    jquery实例演示及动态效果

    在"jQuery实例演示及动态效果"中,我们可以找到一系列示例,涵盖了多种jQuery的核心功能和常见应用。 首先,`myeclipse创建的实例`可能涉及到了在集成开发环境MyEclipse中如何引入和使用jQuery库。MyEclipse是用于...

    锋利的jQuery+实例

    8. **实战案例**:书中提供的实例涵盖了实际开发中的各种场景,如导航栏交互、图片滑动展示、模态对话框、表单验证等,这些实例可以帮助你将理论知识应用于实践中,提升实际编程能力。 通过阅读《锋利的jQuery》这...

    jQuery各类炫酷效果demo

    本压缩包“jQuery各类炫酷效果demo”包含了一系列使用jQuery实现的精彩示例,旨在帮助开发者更好地理解和应用jQuery。 首先,让我们详细探讨一些在描述中提到的效果: 1. **表单验证**:jQuery提供了方便的API来...

    JQuery案例

    这个“JQuery案例”是专为初级JQuery开发者设计的学习资源,旨在通过实际案例帮助初学者更好地理解和应用jQuery的核心概念。 首先,jQuery的核心优势在于其简洁的API,使得开发者可以用更少的代码实现更多的功能。...

    Jquery-poshytip实例应用

    **jQuery PoshyTip实例应用详解** 在Web开发中,用户交互体验是至关重要的,而提示信息作为用户与网站沟通的桥梁,能有效提高用户体验。jQuery PoshyTip是一款优秀的jQuery插件,专门用于创建美观且可自定义的提示...

Global site tag (gtag.js) - Google Analytics