當(dāng)頁(yè)面加載的時(shí)候你就可以先將那個(gè)所謂動(dòng)態(tài)數(shù)據(jù)加載到每個(gè)DIV下的浮動(dòng)層。。當(dāng)然是隱藏的。
創(chuàng)新互聯(lián)專注于尼開遠(yuǎn)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供尼開遠(yuǎn)營(yíng)銷型網(wǎng)站建設(shè),尼開遠(yuǎn)網(wǎng)站制作、尼開遠(yuǎn)網(wǎng)頁(yè)設(shè)計(jì)、尼開遠(yuǎn)網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造尼開遠(yuǎn)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供尼開遠(yuǎn)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
鼠標(biāo)放上去的時(shí)候直接顯示到各DIV的對(duì)應(yīng)位置就好了。
如果你非要鼠標(biāo)放上去再加載數(shù)據(jù)那就是AJAX了。。大致思路就是各DIV的mouseover方法執(zhí)行AJAX的遠(yuǎn)程調(diào)用方法獲取數(shù)據(jù)再取回到這個(gè)浮動(dòng)層顯示。。
先說(shuō)不用js的方法
給div添加一個(gè)title屬性即可(但是這樣是沒法操作到提示框的樣式的 所以有js方法)
js方法 下面給出一份演示
!DOCTYPE?HTML
html
head
title演示/title
script?src=""/script
style?type="text/css"
.TitleDiv{
width:300px;
background-color:?#dddddd;
color:?white;
padding:?15px?0;
}
.TitleDivText{
background-color:?rgba(0,0,0,0.5);
color:?white;
}
/style
/head
body
div?class="TitleDiv"
我是一個(gè)需要提示的div
/div
div?class="TitleDiv"
我是一個(gè)需要提示的div
/div
div?class="TitleDiv"
我是一個(gè)需要提示的div
/div
script?type="text/javascript"
//四個(gè)參數(shù)?
//Element表示需要提示的節(jié)點(diǎn)或者jq對(duì)象?可以是多個(gè)
//Text提示的文本
//Time?鼠標(biāo)移入等待多少的時(shí)間才顯示?單位毫秒
//Class?提示框的class屬性可以修改樣式
function?MoveTitle(Element,Text,Time,Class){
var?ElementJQ=$(Element);
//創(chuàng)建提示框
var?CreateTitle=function(event){
if(ElementJQ.TitleTime){
clearTimeout(ElementJQ.TitleTime);
ElementJQ.TitleTime=setTimeout(function(){
ElementJQ.TitleDiv=document.createElement("div");
if(Class){
$(ElementJQ.TitleDiv).addClass(Class);
}
$(ElementJQ.TitleDiv).css({
position:"fixed",
left:event.clientX+16+"px",//16是鼠標(biāo)的寬度
top:event.clientY+16+"px",//16是鼠標(biāo)的高度
});
$(ElementJQ.TitleDiv).html(Text);
document.body.appendChild(ElementJQ.TitleDiv);
},Time)
}else{
ElementJQ.TitleTime=setTimeout(function(){
ElementJQ.TitleDiv=document.createElement("div");
if(Class){
$(ElementJQ.TitleDiv).addClass(Class);
}
$(ElementJQ.TitleDiv).css({
position:"fixed",
left:event.clientX+16+"px",//16是鼠標(biāo)的寬度
top:event.clientY+16+"px",//16是鼠標(biāo)的寬度
});
$(ElementJQ.TitleDiv).html(Text);
document.body.appendChild(ElementJQ.TitleDiv);
},Time)
}
}
ElementJQ.on("mousemove",function(e){
clearTimeout(ElementJQ.TitleTime);
ElementJQ.TitleTime=null;
if(ElementJQ.TitleDiv){
document.body.removeChild(ElementJQ.TitleDiv);
ElementJQ.TitleDiv=null;
}
CreateTitle(e);
});
ElementJQ.on("mouseover",function(e){
CreateTitle(e);
});
ElementJQ.on("mouseout",function(){
clearTimeout(ElementJQ.TitleTime);
ElementJQ.TitleTime=null;
if(ElementJQ.TitleDiv){
document.body.removeChild(ElementJQ.TitleDiv);
ElementJQ.TitleDiv=null;
}
});
}
var?div=$(".TitleDiv")
MoveTitle(div,"我是提示的內(nèi)容",3000,"TitleDivText");
/script
/body
/html
jsp中:
body
div style="position: absolute;z-index:90" id="div1"我不動(dòng)/div
div我動(dòng)div
/body
//有的將position設(shè)置成fixed,我試了試效果不如position好,設(shè)置z-index,向里的深度,我這兒設(shè)置90,你要覆蓋幾個(gè)div,設(shè)置數(shù)大于那個(gè)數(shù)就行。
js中:
我這兒用jquery寫。
$(document).ready(function(){
$(window).scroll(function(){//滾動(dòng)時(shí)觸發(fā)函數(shù)
$("#div1").css("top",$(document).scrollTop());//將滾動(dòng)條高度賦給懸浮框。
})
})
導(dǎo)入jquery庫(kù),效果就出來(lái)了。
用scroll事件,先獲取右邊那個(gè)大塊的位置,offset.top(),當(dāng)滾動(dòng)條滾動(dòng)到對(duì)應(yīng)位子就改變左邊菜單的內(nèi)容就行了,大致思路就是這樣
先感謝以下樓上那個(gè)大神提供的CSS效果,我第一次用,感覺很不錯(cuò)
但是,看了一下,那個(gè)漸變效果畢竟是CSS3的屬性,對(duì)于較老的瀏覽器就會(huì)失靈,還是用js實(shí)現(xiàn)可能更保險(xiǎn)些。
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無(wú)標(biāo)題文檔/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實(shí)現(xiàn)效果,這里補(bǔ)充一下
首先把CSS樣式中的transition屬性和tab的hover倆個(gè)都注掉或刪掉
如果單純的只是實(shí)現(xiàn)彈出和變色,非常簡(jiǎn)單
$(".tab").hover(
function(e){
$(this).width(170);
$(this).css("background","#06F");
},
function(e){
$(this).width(100);
$(this).css("background","#000");
}
);
但是如果要漸變效果就要稍微復(fù)雜一點(diǎn)了
$("li p").mouseover(function () {
li p 改成一整塊div 里面包含下拉元素和控制顯示隱藏的元素