花瓣网以前的菜单效果还不错,首先是展示出全部的菜单,然后当你向下滑动网页的时候,菜单自动吸顶固定悬浮在浏览器的顶部,这个用户也能很好的切换不同的分类,查看更多的内容,而对于网站来说,也提升了不少的用户体验和交互性。
把这段加到你网页里面就可以了,不是CSS,是Javascript花瓣变叉叉是因为下面语句中的图片地址失效或者你的电脑没有连接上网络
STAR[0] = "http://blog.com.cn/skin/lixia/236605054.gif"
.....
<SCRIPT language=JavaScript1.2>
<!-- Begin
//<!-- Original: Altan (snow@altan.hr) -->
//<!-- Web Site: http://www.altan.hr/snow -->
// Script arranged by Hisa (http://www.suisen.sakura.ne.jp/~ikitai/js/)
var no = 13// STAR number?@?P¡ë?¨C¨º?¨¦?o?¨¦¡ë?¡®??¨¬¨C??¡±
var speed = 10// smaller number moves the STAR faster
STAR = new Array()
STAR[0] = "http://blog.com.cn/skin/lixia/236605054.gif"
STAR[1] = "http://blog.com.cn/skin/lixia/236596767.gif"
STAR[2] = "http://blog.com.cn/skin/lixia/236597338.gif"
STAR[3] = "http://blog.com.cn/skin/lixia/236598420.gif"
STAR[4] = "http://blog.com.cn/skin/lixia/236599138.gif"
STAR[5] = "http://blog.com.cn/skin/lixia/236600240.gif"
var ns4up = (document.layers) ? 1 : 0 // browser sniffer
var ie4up = (document.all) ? 1 : 0
var dx, xp, yp // coordinate and position variables
var am, stx, sty // amplitude and step variables
var i, doc_width = 1500, doc_height = 1800
if (ns4up) {
doc_width = self.innerWidth
doc_height = self.innerHeight
} else if (ie4up) {
doc_width = document.body.clientWidth
doc_height = document.body.clientHeight
}
dx = new Array()
xp = new Array()
yp = new Array()
am = new Array()
stx = new Array()
sty = new Array()
j = 0
for (i = 0i <no++ i) {
dx[i] = 0 // set coordinate variables
xp[i] = Math.random()*(doc_width-50) // set position variables
yp[i] = Math.random()*doc_height
am[i] = Math.random()*20// set amplitude variables
stx[i] = 0.02 + Math.random()/10// set step variables
sty[i] = 0.7 + Math.random()// set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + STAR[j] + "\" border=\"0\"></layer>")
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + STAR[j] + "\" border=\"0\"></layer>")
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absoluteZ-INDEX: "+ i +" VISIBILITY: visibleTOP: 15pxLEFT: 15pxwidth:1\"><img src=\"" + STAR[j] + "\" border=\"0\"></div>")
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absoluteZ-INDEX: "+ i +" VISIBILITY: visibleTOP: 15pxLEFT: 15pxwidth:1\"><img src=\"" + STAR[j] + "\" border=\"0\"></div>")
}
}
if (j == (STAR.length-1)) { j = 0} else { j += 1}
}
function STAR_NS() { // Netscape main animation function
for (i = 0i <no++ i) { // iterate for every dot
yp[i] += sty[i]
if (yp[i] >doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30)
yp[i] = 0
stx[i] = 0.02 + Math.random()/10
sty[i] = 0.7 + Math.random()
doc_width = self.innerWidth
doc_height = self.innerHeight
}
dx[i] += stx[i]
document.layers["dot"+i].top = yp[i]
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i])
}
setTimeout("STAR_NS()", speed)
}
function STAR_IE() { // IE main animation function
for (i = 0i <no++ i) { // iterate for every dot
yp[i] += sty[i]
if (yp[i] >doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30)
yp[i] = 0
stx[i] = 0.02 + Math.random()/10
sty[i] = 0.7 + Math.random()
doc_width = document.body.clientWidth
doc_height = document.body.clientHeight
}
dx[i] += stx[i]
document.all["dot"+i].style.pixelTop = yp[i]
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i])
}
setTimeout("STAR_IE()", speed)
}
if (ns4up) {
STAR_NS()
} else if (ie4up) {
STAR_IE()
}
// End -->
</SCRIPT>
图片都是等宽的,200px左右,原图按比例缩放之后的结果。这一个div没什么好说的,外层div,里面图片跟文字,隐藏一套放置按钮的div,鼠标进入整个div时显示。全局页面jquery masonry布局,js监视滚动,ajax装载更多图片,并以上图div形式添加到页面,同时继续装载到masonry布局容器中