jquery的load和get的区别
jquery的load把返回的数据放到指定的元素中,不是全局函数;
jquery的get把返回的数据交给用户处理,是全局函数。
load和get同样是jquery的ajax函数,load的实现,几乎等于get之后再设置网页元素,在ajax获取机制上没有区别,但要注意的是,load方法另一个和get的重要区别,就是load允许指定要插入的远程文档的某个部分,比如:
$(“#result“).load(“test.html #page2“);
load是最简单的ajax加载局部网页的方法,但有局限性(只能替换元素内容),get也是jquery中比较简单的方法,两者的安全级别较低。如果有传送密码和其它重要数据信息,推荐使用post方法。
怎么用jQuery进行表单验证
验证密码是否一致很简单
一句话可以解决
《script type=“text/javascript“》
$(function(){
//省略代码
if$(“#password1“).val()!=$(“#password2“){
//两次输入不同时执行的代码
} else{
//否则执行的代码
}
//省略的代码
})
《/script》
#password1是第一个密码框的id
#password2是第二个密码框的id
一句if语句就可以搞定
jQuery实现切换页面过渡动画效果
直接为大家介绍制作过程,希望大家可以喜欢。
HTML结构
该页面切换特效的HTML结构使用一个《main》元素来作为页面的包裹元素,div.cd-cover-layer用于制作页面切换时的遮罩层,div.cd-loading-bar是进行ajax加载时的loading进度条。
《main》
《div
class=“cd-index
cd-main-content“》
《div》
《h1》Page
Transition《/h1》
《!--
your
content
here
--》
《/div》
《/div》
《/main》
《div
class=“cd-cover-layer“》《/div》
《!--
this
is
the
cover
layer
--》
《div
class=“cd-loading-bar“》《/div》
《!--
this
is
the
loading
bar
--》
CSS样式
该页面切换特效中使用body::before和body::after伪元素在页面切换过程中创建两个遮罩层来遮住页面内容。它们的定位是固定定位,高度等于50vh,宽度为100%。默认情况下,使用CSS
transform属性将它们隐藏起来(translateY(-100%)/translateY(100%))。当用户切换页面的时候,这些元素被移动回视口当中(通过在《body》元素上添加.page-is-changing
class)。
下面的图片演示了这个过程:
页面切换特效
body::after,
body::before
{
/*
these
are
the
2
half
blocks
which
cover
the
content
once
the
animation
is
triggered
*/
height:
50vh;
width:
100%;
position:
fixed;
left:
0;
}
body::before
{
top:
0;
transform:
translateY(-100%);
}
body::after
{
bottom:
0;
transform:
translateY(100%);
}
body.page-is-changing::after,
body.page-is-changing::before
{
transform:
translateY(0);
}
页面切换时,页面内容的淡入淡出效果是通过改变div.cd-cover-layer的透明度实现的。它覆盖了.cd-main-content元素,并具有相同的背景色,然后在《body》被添加.page-is-changing
class的时候,将透明度从0修改为1。
Loading进度条使用.cd-loading-bar::before伪元素来制作。默认它被缩小(scaleX(0))和transform-origin:
left
center。当页面切换开始时它被使用scaleX(1)放大会原来的尺寸。
.cd-loading-bar
{
/*
this
is
the
loading
bar
-
visible
while
switching
from
one
page
to
the
following
one
*/
position:
fixed;
height:
2px;
width:
90%;
}
.cd-loading-bar::before
{
/*
this
is
the
progress
bar
inside
the
loading
bar
*/
position:
absolute;
left:
0;
top:
0;
height:
100%;
width:
100%;
transform:
scaleX(0);
transform-origin:
left
center;
}
.page-is-changing
.cd-loading-bar::before
{
transform:
scaleX(1);
}
特效中平滑的过渡效果使用CSS
Transitions来实现。每一个动画元素都被添加了不同的transition-delay,以实现不同的元素动画顺序。
JAVASCRIPT
该页面切换特效中在链接上使用data-type=“page-transition“属性,用于触发页面切换事件。当插件检测到用户点击事件,changePage()方法将被执行。
$(’main’).on(’click’,
’’,
function(event){
event.preventDefault();
//detect
which
page
has
been
selected
var
newPage
=
$(this).attr(’href’);
//if
the
page
is
not
animating
-
trigger
animation
if(
!isAnimating
)
changePage(newPage,
true);
});
这个方法会触发页面切换动画,并通过loadNewContent()方法加载新内容。
function
changePage(url,
bool)
{
isAnimating
=
true;
//
trigger
page
animation
$(’body’).addClass(’page-is-changing’);
//...
loadNewContent(url,
bool);
//...
}
当新的内容被加载后,会替代原来《main》元素中的内容。.page-is-changing
class被从body中移除,新加载的内容会被添加到window.history中(使用pushState()方法)。
function
loadNewContent(url,
bool)
{
var
newSectionName
=
’cd-’+url.replace(’.html’,
’’),
section
=
$(’《div
class=“cd-main-content
’+newSectionName+’“》《/div》’);
section.load(url+’
.cd-main-content
》
*’,
function(event){
//
load
new
content
and
replace
《main》
content
with
the
new
one
$(’main’).html(section);
//...
$(’body’).removeClass(’page-is-changing’);
//...
if(url
!=
window.location){
//add
the
new
page
to
the
window.history
window.history.pushState({path:
url},’’,url);
}
});
}
为了在用户点击浏览器的回退按钮时触发相同的页面切换动画效果,插件中监听popstate事件,并在它触发时执行changePage()函数。
$(window).on(’popstate’,
function()
{
var
newPageArray
=
location.pathname.split(’/’),
//this
is
the
url
of
the
page
to
be
loaded
newPage
=
newPageArray[newPageArray.length
-
1];
if(
!isAnimating
)
changePage(newPage);
});
-query