CSS的10个经典技巧

1.CSS字体属性简写规则

一般用CSS设定字体属性是这样做的:

font-weight:bold;
font-style:italic;
font-varient:small-caps;
font-size:1em;
line-height:1.5em;
font-family:verdana,sans-serif;

但也可以把它们全部写到一行上去:

font: bold italic small-caps 1em/1.5em verdana,sans-serif;

真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。

  1. 同时使用两个类

一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:

<p class="text side">...</p>

同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

补充:对于一个ID,不能这样写<p id="text side">...</p>也不能这样写

  1. CSS border的缺省值

通常可以设定边界的颜色,宽度和风格,如:

border: 3px solid #000

这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。

  1. CSS用于文档打印

许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:

<link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" /> <link type="text/css" rel="stylesheet" href="printstyle.css" media="print" />

第1行就是显示,第2行是打印,注意其中的media属性。

但 应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会 使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。

  1. 图片替换技巧

一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。

比如你想整个卖东西的图标,你就用了这个图片:

<h1><img src="widget-image.gif" alt="Buy widgets" /></h1>

这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:

<h1>Buy widgets</h1>

但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:

h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }

注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。

  1. CSS box模型的另一种调整技巧

这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:

#box { width: 100px; border: 5px; padding: 20px }

这样调用它:

<div id="box">...</div>

这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。

但用CSS也可以达到同样的目的,让它们显示效果一致。

#box { width: 150px } #box div { border: 5px; padding: 20px }

这样调用:

<div id="box"><div>...</div></div>

这样,不管什么浏览器,宽度都是150点了。

  1. 块元素居中对齐

如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:

#content { width: 700px; margin: 0 auto }

你会使用 <div id="content"> 来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:

body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto }

这会把网页内容都居中,所以在Content中又加入了:text-align: left 。

  1. 用CSS来处理垂直对齐

垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。

CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。

  1. CSS在容器内定位

CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:

#container { position: relative }

这样容器内所有的元素都会相对定位,可以这样用:

<div id="container"><div id="navigation">...</div></div>

如果想定位到距左30点,距上5点,可以这样:

#navigation { position: absolute; left: 30px; top: 5px }

当然,你还可以这样:

margin: 5px 0 0 30px

注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。

  1. 直通到屏幕底部的背景色

在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:

#navigation { background: blue; width: 150px }

较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?

不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。

body { background: url(blue-image.gif) 0 0 repeat-y }

此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。

css 处理左右高度不对的方法

<p>我们开发时经常会碰到左右高度不对的情况,该怎么处理呢?教你用一个三列高度自适应方法来解决。
 代码如下:</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p><!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html XMLns="http://www.w3.org/1999/xhtml";>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css DIV三列高度自适应</title>
<style type="text/CSS">
*{padding:0;margin:0;}.main .box{float:left;width:300px;background-color:#FFF;margin-top:8px;margin-bottom:-2000px;margin-left:8px;display:inline;border:1px solid #999;padding-right:8px;padding-left:8px;padding-bottom:2000px;padding-top:8px;}.main{background-color:#CCC;overflow:hidden;width:986px;margin-right:auto;margin-left:auto;position:relative;}.main_bottom{background-color:#CCC;height:8px;width:986px;margin-right:auto;margin-left:auto;overflow:hidden;}.main .box .bottom_line{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:8px;display:inline;overflow:hidden;}.main .box .bottom_line2{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:334px;display:inline;overflow:hidden;}.main .box .bottom_line3{background-color:#999;height:1px;position:absolute;width:318px;bottom:0px;_bottom:-1px;left:660px;display:inline;overflow:hidden;}</style>
</head>
<body>
<div class="main">
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
    <div class="bottom_line"></div>
  </div>
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <div class="bottom_line2"></div>
  </div>
  <div class="box">
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
    <div class="bottom_line3"></div>
  </div>
</div>
<div class="main_bottom"></div>
</body>
</html></p>

阅读剩余部分 -

传统js代码和用jq实现ajax的比较

<p>传统js代码,传统的有助于理解原理

var xmlhttp;
function verify() {
 </p><div><div id="sina_keyword_ad_area2"><wbr /> <wbr /> <wbr /> var userName = document.getElementByIdx_x("userName").value;
 <wbr /> <wbr /> <wbr /> if (window.XMLHttpRequest) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //针对Firefox,Mozillar,Opera,Safari,IE7,IE8
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> xmlhttp = new XMLHttpRequest();
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //针对某些特定版本的Mozillar浏览器的BUG进行修正
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> if (xmlhttp.overrideMimeType) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> xmlhttp.overrideMimeType("text/html");
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> }
 <wbr /> <wbr /> <wbr /> } else if (window.ActiveXObject) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //针对IE6及以下版本
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个JS数组中
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> for (var i = 0; i < activexName.length; i++) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> try {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //取出一个控件名进行创建,如果创建成功就终止循环
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //如果创建失败,会抛出异常,然后可以继续循环,继续尝试创建
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> xmlhttp = new ActiveXObject(activexName[i]);
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> break;
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> } catch(e) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> }
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> }

 <wbr /> <wbr /> <wbr /> }<div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div>
 <wbr /> <wbr /> <wbr /> //1.确认XMLHTTPRequest对象是否创建成功
 <wbr /> <wbr /> <wbr /> if (!xmlhttp) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> alert("XMLHTTPRequest对象创建失败!!");
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> return;
 <wbr /> <wbr /> <wbr /> } else {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> alert(xmlhttp);
 <wbr /> <wbr /> <wbr /> }
 <wbr /> <wbr /> <wbr /> //2.注册回调函数
 <wbr /> <wbr /> <wbr /> //注册回调函数时,函数名不要加括号
 <wbr /> <wbr /> <wbr /> xmlhttp.onreadystatechange = callback;

 <wbr /> <wbr /> <wbr /> //3.设置连接信息
 <wbr /> <wbr /> <wbr /> //第一个参数表示http的请求方式
 <wbr /> <wbr /> <wbr /> //第二个参数是请求的URL地址
 <wbr /> <wbr /> <wbr /> //第三个参数表示采用异步还是同步交互方式,trueb表示异步
 <wbr /> <wbr /> <wbr /> //xmlhttp.open("GET", "AJAXServer?name=" + userName, true);

 <wbr /> <wbr /> <wbr /> //post请求方式
 <wbr /> <wbr /> <wbr /> xmlhttp.open("POST", "AJAXServer", true);
 <wbr /> <wbr /> <wbr /> //post方式需要自己设置http的请求头
 <wbr /> <wbr /> <wbr /> xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



 <wbr /> <wbr /> <wbr /> //4.发送数据,开始和服务器端进行交互
 <wbr /> <wbr /> <wbr /> //同步方式下,send这句话在服务器端数据返回来后才执行
 <wbr /> <wbr /> <wbr /> //异步方式下,send这句话立即执行
 <wbr /> <wbr /> <wbr /> //xmlhttp.send(null);
 <wbr /> <wbr /> <wbr /> xmlhttp.send("name=" + userName);


}
function callback() {
 <wbr /> <wbr /> <wbr /> //5.接受响应数据
 <wbr /> <wbr /> <wbr /> //判断对象的状态是否交互完成
 <wbr /> <wbr /> <wbr /> if (xmlhttp.readyState == 4) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //判断http的交互是否成功
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> if (xmlhttp.status == 200) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> //获取服务器端返回的数据
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> var responseText = xmlhttp.responseText;
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> var resultNode = document.getElementByIdx_x("result");
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> resultNode.innerHTML = responseText;
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> }
 <wbr /> <wbr /> <wbr /> }
}

用jquery实现的ajax

function verify() {
 <wbr /> <wbr /> <wbr /> var userName = $(&quot;#userName&quot;).val();<br />&nbsp;<wbr />&nbsp;<wbr />&nbsp;<wbr /> //发送数据<br />&nbsp;<wbr />&nbsp;<wbr />&nbsp;<wbr /> $.get("AJAXServer?name=" + userName, null, function(data) {
 <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> <wbr /> $("#result").html(data);
 <wbr /> <wbr /> <wbr /> });
}</div></div>

阅读剩余部分 -

10款jquery弹出层 动画效果应有尽有

<p>1、jquery可拖动弹出层插件点击弹出层插件

jquery弹出层插件制作注册表单点击按钮弹出层表单提交效果,可支持拖到的jQuery弹出层效果。标题、高度、宽度等可以自定义弹出层插件。

</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>

查看演示>>        下载地址




2、jquery弹出层插件点击弹出层可拖动特效

jquery弹出层插件点击按钮背景淡隐淡现显示弹出层,当鼠标滑动标题时,可以拖动整个弹出层,点击按钮关闭弹出层。



查看演示>>        下载地址





3、jQuery顶部浮动弹出层动画弹出层特效

jquery顶部浮动弹出层,点击浮动层动画弹出层,弹出层从顶部动画滑动效果。



查看演示>>           </p><p>




4、jquery浮动层动画loading页面加载特效

jquery浮动层特效或弹出层特效loading页面加载过程,异步加载loading特效。提示用户loading页面加载效果。



查看演示>>         下载地址




5、jquery弹出层鼠标点击弹出层可浮动在屏幕滚动

jquery弹出层当鼠标点击文字或图片弹出层,弹出层浮动在屏幕上可以随浏览器上下滚动,弹出层可自动居中在页面中间。



查看演示>>           下载地址




6、jquery弹出层特效animate制作类似flash动画效果弹出层

jquery弹出层特效制作一个类似flash动画效果的弹出层特效,鼠标点击按钮弹出一个带动画animate效果的浮动弹出层。



查看演示>>          下载地址




7、jquery 弹出层 点击按钮弹出层兼容IE和firefox浏览器

jquery制作弹出层效果,当鼠标点击按钮弹出层,弹出层始终显示在页面的中间,兼容各大主流浏览器IE、firefox等,jquery弹出层是非常实用的jquery特效,一般网站弹出信息都能应用。



查看演示>>         下载地址




8、jquery 弹出层插件 鼠标点击文字获取标题弹出层内容信息

jquery 弹出层插件制作弹出层信息,鼠标点击文字内容信息获取文字标题与内容,弹出层flash动画显示,弹出层,始终上下垂直居中,左右水平居中,是一款比较酷炫轻量级的jquery 弹出层插件。



查看演示>>          下载地址




9、jquery 弹出层插件 ThickBox 多功能弹出层插件支持图片、ajax、内嵌内容弹等

jquery 弹出层插件 ThickBox 网页UI对话框部件,是一款多功能弹出层插件包含有,图片弹出层、内嵌内容弹出层,iframe弹出层,ajax弹出层等的内容服务的jquery多功能弹出层插件。



查看演示>>           下载地址




10、jquery 弹出层插件FancyBox弹出层演示支持图片、文章内容、flash swf弹出层等

jquery特效插件FancyBox弹出层支持多种方式弹出层如:图片弹出层、文字信息弹出层、flash弹出层、ajax弹出层、Iframe弹出层。



查看演示>>         下载地址</p>

阅读剩余部分 -

百度绿萝算法是什么?

网站优化内容提要:“绿萝算法”随着百度CEO李彦宏微博的发布让SEO人员人尽皆知,伴随着百度站长平台的公布,2013年2月20号百度绿萝算法正式上线生效。一时间网络推广社区论坛怨声载道,嘘声一片。被K的,降权的,中弹的当然也有误伤的。那么,到底百度绿萝算法是什么呢?

百度绿萝算法是什么?

“绿萝算法”随着百度CEO李彦宏微博的发布让SEO人员人尽皆知,伴随着百度站长平台的公布,2013年2月20号百度绿萝算法正式上线生效。一时间网络推广社区论坛怨声载道,嘘声一片。被K的,降权的,中弹的当然也有误伤的。那么,到底百度绿萝算法是什么呢?

阅读剩余部分 -

谷Agent最新配置详细教程

Go.Agent是一个基于GAE的穿越利器,速度方面,相对于平常fan墙软件来说,非常给力,对于Facebook、youtube等网站来说,基本秒开,而且go.agent是一款绿色软件,不用安装任何第三方平台,部署一下数据即可使用!

阅读剩余部分 -

滑动效果的返回顶部锚点按钮

<p>‘TOP’置顶链接,说的通俗一点就是‘返回顶部的链接’,‘go to top ’一般都放在页面的底部,它可以快速返回页面顶部,以节省用户浏览页面的时间。 它主要的应用场景是
当你有一个很长的网页内容时,您通常要 把 ‘TOP’锚点链接 添加在页面底部,只要用户一点击‘TOP’链接 ,就可以马上回到 页面的顶部了。</p><p>我们遇到的问题是:不是滚动到页面底部的时候才看到了‘TOP’,如果页面内容超过两屏以上时,用户有些心烦,我不想看了,我想回到顶部看一些其他的内容。
如果我们只看了第一屏的文章,不想看了,可是‘TOP’在第二屏才会出现。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>这时候有三种情况发生:</p><ol> <li>发挥鼠标特长就是拖动浏览器的滚动条或是滚动鼠标滑轮,回到页面顶部。</li> <li>继续硬着头皮往下看,看有没有‘TOP’,幸运的话,马上找到了,可以回到顶部了。(一般人心中是没有‘TOP’概念的,只有选择1 和3 的方法了)</li> <li>直接关闭网页,或者重新打开网站,或者离开网站。</li></ol><p>我想我们已经找到了问题的所在了。</p><p>我们有三种方案可以给用户带来良好的用户体验:</p><h2>方案一:在合适的地方,手动加入一个或多个‘TOP’链接。</h2><p>这是最原始的做法了,如果滚动太快,验,那就是我们给用户用脚本实现一下缓冲效果,而不是直接飙到顶部。</p><h3>The HTML :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <a id="gototop"href="javascript:void(0);"onclick="goTop();return false;">Top of Page</a></td> </tr> </tbody></table><h3>The JavaScript :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>/ 作者:我是UED ,http://www.iamued.com/qianduan/816.html 回到页面顶部 @param acceleration 加速度 @param time 时间间隔 (毫秒) /function goTop(acceleration, time){ acceleration = acceleration ||0.1; time = time ||16;  var x1 =0;var y1 =0;var x2 =0;var y2 =0;var x3 =0;var y3 =0;  if(document.documentElement){ x1 = document.documentElement.scrollLeft||0; y1 = document.documentElement.scrollTop||0;}if(document.body){ x2 = document.body.scrollLeft||0; y2 = document.body.scrollTop||0;}var x3 = window.scrollX||0;var y3 = window.scrollY||0;  // 滚动条到页面顶部的水平距离var x = Math.max(x1, Math.max(x2, x3));// 滚动条到页面顶部的垂直距离var y = Math.max(y1, Math.max(y2, y3));  // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小var speed =1+ acceleration; window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));  // 如果距离不为零, 继续调用迭代本函数if(x >0|| y >0){var invokeFunction ="goTop("+ acceleration +", "+ time +")"; window.setTimeout(invokeFunction, time);}}</pre> </td> </tr> </tbody></table><p>DEMO测试网址</p><h2>方案二:‘TOP’默认是隐藏的,只要滚动条,滚动到一定高度时就显示,否则就隐藏。</h2><p>这样我可能想从中间某处回到页面的顶部成为可能。</p><h3>The HTML :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td><ahref="#top"id="gototop" >Top of Page</a></td> </tr> </tbody></table><p>The CSS :</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>#gototop{display:none;position:fixed;right:5px;bottom:5px;color:green;font-weight:bold;text-decoration:none;border:1pxsolidgreen;background:Lightgreen;padding:10px;}#gototop{text-decoration:underline;}</pre> </td> </tr> </tbody></table><h3>The MooTools JavaScript :</h3><h3>注意:</h3><h3>我们需要MooTools Core 库的同时,也需要MooTools More 库中的 Fx.Scroll.js 和 Fx.SmoothScroll.js 两大文件。</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>window.addEvent('domready',function(){new SmoothScroll({duration:700});/ go to top /var go = $(&#39;gototop&#39;); go.set(&#39;opacity&#39;,&#39;0&#39;).setStyle(&#39;display&#39;,&#39;block&#39;);window.addEvent(&#39;scroll&#39;,function(e){if(Browser.Engine.trident4){ go.setStyles({&#39;position&#39;:&#39;absolute&#39;,&#39;bottom&#39;: window.getPosition().y+10,&#39;width&#39;:100});} go.fade((window.getScroll().y&gt;300)?&#39;in&#39;:&#39;out&#39;)});});</pre> </td> </tr> </tbody></table><p><strong><a href="http://www.websbook.com/upimg/allimg/100402/2.htm" target="_blank">DEMO测试网址</a></strong></p><p>还有一个例子是动态生成&lsquo;TOP&rsquo;。</p><h3>The MooTools JavaScript :</h3><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>/** * back-to-top: unobtrusive global &#39;back to top&#39; link using mootools 1.2.x * This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License. * http://creativecommons.org/licenses/by-sa/3.0/ */&nbsp;// hide the effect from IE6, better not having it at all than being choppy.if(!Browser.Engine.trident4){// element added onload for IE to avoid the &quot;operation aborted&quot; bug. not yet verified for IE8 as it&#39;s still on beta as of this modification. window.addEvent((Browser.Engine.trident?&#39;load&#39;:&#39;domready&#39;),function(){var target_opacity =0.64;new Element(&#39;span&#39;,{&#39;id&#39;:&#39;back-to-top&#39;,&#39;styles&#39;:{ opacity: target_opacity, display:&#39;none&#39;, position:&#39;fixed&#39;, bottom:0, right:0, cursor:&#39;pointer&#39;},&#39;text&#39;:&#39;back to top&#39;,&#39;tween&#39;:{ duration:200, onComplete:function(el){if(el.get(&#39;opacity&#39;)==0) el.setStyle(&#39;display&#39;,&#39;none&#39;)}},&#39;events&#39;:{&#39;click&#39;:function(){/*location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用 location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如 http://ued.alimama.com#admin的location.hash=&rdquo;#admin&rdquo;,利用这个属性值可以实现很多效果。*/if(window.location.hash){ window.location.hash=&#39;#top&#39;;}else{ window.scrollTo(0,0);/*把窗口内容滚动到指定的坐标。*/}}}}).inject(document.body);&nbsp; window.addEvent(&#39;scroll&#39;,function(){var visible = window.getScroll().y&gt;(window.getSize().y*0.8);if(visible == arguments.callee.prototype.last_state)return;&nbsp; // fade if supportedif(Fx &amp;&amp; Fx.Tween){if(visible) $('back-to-top').fade('hide').setStyle('display','inline').fade(target_opacity);else $(&#39;back-to-top&#39;).fade(&#39;out&#39;);}else{ $('back-to-top').setStyle('display',(visible ?'inline':'none'));}  arguments.callee.prototype.last_state= visible });});}</pre> </td> </tr> </tbody></table><h3>The jQuery JavaScript :</h3><p>需要jQuery’s ScrollTo plugin 插件添加一些平滑的锚。</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td> <pre>//pluginjQuery.fn.topLink=function(settings){ settings = jQuery.extend({ min:1, fadeSpeed:200}, settings);returnthis.each(function(){//listen for scrollvar el = $(this); el.hide();//in case the user forgot $(window).scroll(function(){if($(window).scrollTop()&gt;= settings.min){ el.fadeIn(settings.fadeSpeed);}else{ el.fadeOut(settings.fadeSpeed);}});});};&nbsp;//usage w/ smoothscroll$(document).ready(function(){//set the link $(&#39;#gototop&#39;).topLink({ min:400, fadeSpeed:500});//smoothscroll $('#gototop').click(function(e){ e.preventDefault(); $.scrollTo(0,300);});});</pre> </td> </tr> </tbody></table><p><strong><a href="http://www.websbook.com/upimg/allimg/100402/4.htm" target="_blank">DEMO测试网址</a></strong></p><p><strong>注意:</strong></p><p>Please note that this version doesn&rsquo;t work with Internet Explorer due to IE&rsquo;s lack of CSS &ldquo;position:fixed&rdquo; support. Here is a shotty attempt at IE support:</p><table align="center" border="0" cellpadding="6" cellspacing="0" style="line-height:22.390625px;" width="95%"> <tbody> <tr> <td>//plugin<br /> &nbsp;&nbsp;&nbsp; jQuery.fn.topLink=function(settings){<br /> settings&nbsp;=&nbsp;jQuery.extend({<br /> min:1,&nbsp;fadeSpeed:200,<br /> ieOffset:50<br /> },&nbsp;settings);<br /> returnthis.each(function(){<br /> //listen for scroll<br /> var&nbsp;el&nbsp;=&nbsp;$(this);
el.css('display','none');//in case the user forgot
$(window).scroll(function(){<br /> //stupid IE hack<br /> if(!jQuery.support.hrefNormalized){<br /> el.css({<br /> &#39;position&#39;:&#39;absolute&#39;,<br /> &#39;top&#39;:&nbsp;$(window).scrollTop()+ $(window).height()-&nbsp;settings.ieOffset<br /> });<br /> }<br /> if($(window).scrollTop()>= settings.min)
{
el.fadeIn(settings.fadeSpeed);
}
else
{
el.fadeOut(settings.fadeSpeed);
}
});
});
};
 
 
$(document).ready(function(){<br /> $('#gototop').topLink({
min:400,
fadeSpeed:500
    });
//smoothscroll
$(&#39;#gototop&#39;).click(function(e){<br /> e.preventDefault();<br /> $.scrollTo(0,300);
});
});</td> </tr> </tbody></table><p>DEMO测试网址</p>

阅读剩余部分 -

随机文章

最近回复

分类

其它

友情连接

推广链接