先感谢以下楼上那个大神提供的CSS效果,我第一次用,感觉很不错
创新互联专注于乐昌企业网站建设,响应式网站设计,商城系统网站开发。乐昌网站建设公司,为乐昌等地区提供建站服务。全流程定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
但是,看了一下,那个渐变效果毕竟是CSS3的属性,对于较老的浏览器就会失灵,还是用js实现可能更保险些。
CSS文件:
#block{ width:200px; height:300px; overflow:hidden;}
.tab{
color:#FFF;
line-height:60px;
width:100px; height:60px;
background:#000;
margin:10px;
padding-left:5px;
float:right;
position:relative;
left:25px;
-moz-border-radius: 15px; /* Gecko browsers */
-webkit-border-radius: 15px; /* Webkit browsers */
border-radius:15px; /* W3C syntax */
transition:all 0.2s ease-in-out 0;
}
.tab:hover{ width:170px; background:#06F;}
Html文件:
!doctype html
html
head
meta charset="utf-8"
title无标题文档/title
/head
link rel="stylesheet" type="text/css" href="tab.css"
body
div id="block"
div class="tab" id="tab1"tab1/div
div class="tab" id="tab2"tab2/div
div class="tab" id="tab3"tab3/div
/div
/body
/html
刚才提到了用js实现效果,这里补充一下
首先把CSS样式中的transition属性和tab的hover俩个都注掉或删掉
如果单纯的只是实现弹出和变色,非常简单
$(".tab").hover(
function(e){
$(this).width(170);
$(this).css("background","#06F");
},
function(e){
$(this).width(100);
$(this).css("background","#000");
}
);
但是如果要渐变效果就要稍微复杂一点了
在ajax的success中进行操作,先关闭浮窗,然后重定向到首页
关闭浮窗,如果是插件弹出的window,一般都自带close方法,如果是自己写的div可以通过隐藏、删除等方法来实现关闭
jsp中:
body
div style="position: absolute;z-index:90" id="div1"我不动/div
div我动div
/body
//有的将position设置成fixed,我试了试效果不如position好,设置z-index,向里的深度,我这儿设置90,你要覆盖几个div,设置数大于那个数就行。
js中:
我这儿用jquery写。
$(document).ready(function(){
$(window).scroll(function(){//滚动时触发函数
$("#div1").css("top",$(document).scrollTop());//将滚动条高度赋给悬浮框。
})
})
导入jquery库,效果就出来了。
利用浮动窗口的鼠标移出/移入事件.
为FORM或者BADY的onclick事件动态 绑定/解除绑定 一个function
这个function的内容就是控制窗口消失.
也就是说,只要鼠标移出了浮动层,那么就被绑定了一个单击事件:浮动层消失.
这种效果,
你问度娘,jquery 弹出层,,,你会找到各式各样的插件,,,都会带有demo的。。
给你个思路吧:
offset().top 悬浮窗在页面没滚动的时候与页面顶部的距离,这个距离只取了一次所以这个距离从开始就始终没变。
$(window).scrollTop() 是页面已经滚动的距离(是跟随你滚动不断变动的),就是你滚动条往下滚动的距离(页面可是区域顶端与原页面真实顶端的距离)
当页面滚动的时候触发函数$(window).scroll
然而悬浮窗又要保持页面打开时候的位置,那显然就是
悬浮窗原始与顶部距离+页面已经滚动过的距离;