鼠標(biāo)懸停小圖標(biāo)顯示大圖標(biāo)
頁面元素為div->table->tr->td,對于td中的圖片,鼠標(biāo)懸停上則顯示大圖片,鼠標(biāo)離開則大圖片消失:
首先需要知道jq創(chuàng)建dom元素語法;$(html標(biāo)簽),例如這里創(chuàng)建了一個img標(biāo)簽var img = $("<img class='changePhoto'></img>");
其次鼠標(biāo)的懸停與離開這里使用的是hover方法,語法為$(selector).hover(inFunction,outFunction),
規(guī)定當(dāng)鼠標(biāo)指針懸停在被選元素上時要運(yùn)行的兩個函數(shù)。其中inFunction是必須的,outFunction是可選的。
該方法觸發(fā) mouseenter 和 mouseleave 事件。
注意:如果只規(guī)定了一個函數(shù),則它將會在 mouseenter 和 mouseleave 事件上運(yùn)行。
這里定義inFunction為確定大圖片的位置,outFunction為remove創(chuàng)建的img節(jié)點(diǎn)。
1)只創(chuàng)建對象是不夠的,還需要將創(chuàng)建的對象添加到文檔節(jié)點(diǎn)中去,jq中使用的方法為
append() - 在被選元素的結(jié)尾插入內(nèi)容
prepend() - 在被選元素的開頭插入內(nèi)容
after() - 在被選元素之后插入內(nèi)容
before() - 在被選元素之前插入內(nèi)容
應(yīng)用在這里則為先給該img賦值,再append:
img.attr("src", $element.find(".prePhoto").attr("src")); $element.append(img);
2)確定大圖片位置的時候,需要三個參數(shù),第一個是參照元素,這里選的是td的parents元素,tr:var $element = $(this).parents("tr")。
第二個是本次創(chuàng)建的目標(biāo)元素,這里是img,第三個是目標(biāo)元素可以出現(xiàn)的區(qū)域元素,一般是一個很大的元素,這里是table的父元素div,$(".fatherDiv")
因此,具體的方法為,
function getPosition($element, img, $(".fatherDiv"){ var top = $element.position().top + $element.height();//得到top:參照元素的top + 參照元素本身的height。 var maxBottom = $(".fatherDiv").height();//得到區(qū)域元素的height。 var minTop = 40; if (top + img.height() > maxBottom) { top = $element.position().top - img.height(); } if (top < minTop) {//兩個if判斷,保證無論怎么劃動鼠標(biāo)的滑輪,目標(biāo)元素始終出現(xiàn)在屏幕上。 top = minTop; } var $firstElement = $($(".fatherDivtbody tr")[0]); img.css('top',top - $firstElement.position().top + 40); }
3)remove創(chuàng)建的對象;$element.remove();
4) 目標(biāo)元素的css需要滿足一些條件:position:absolute
.changePhoto { position: absolute; width: 120px; height: 160px; left: 300px; right: 10px; float: right; z-index: 9; }
- 網(wǎng)頁中移動的廣告效果 鼠標(biāo)懸停
- CSS鼠標(biāo)懸停菜單 圖片交換技術(shù)實(shí)現(xiàn)
- javascript實(shí)現(xiàn)的鼠標(biāo)懸停時動態(tài)翻滾的導(dǎo)航條
- hover的用法及l(fā)ive的用法介紹(鼠標(biāo)懸停效果)
- 一個簡單的JS鼠標(biāo)懸停特效具體方法
- jQuery當(dāng)鼠標(biāo)懸停時放大圖片的效果實(shí)例
- jQuery實(shí)現(xiàn)列表自動循環(huán)滾動鼠標(biāo)懸停時停止?jié)L動
- jQuery實(shí)現(xiàn)鼠標(biāo)懸停顯示提示信息窗口的方法
相關(guān)文章
JS實(shí)現(xiàn)太極旋轉(zhuǎn)思路分析
本文主要對JS實(shí)現(xiàn)太極旋轉(zhuǎn)的思路進(jìn)行分析,步驟清晰,簡短的文字,深入的理解。需要的朋友可以看下2016-12-12Javascript基于AJAX回調(diào)函數(shù)傳遞參數(shù)實(shí)例分析
這篇文章主要介紹了Javascript基于AJAX回調(diào)函數(shù)傳遞參數(shù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript使用ajax傳遞參數(shù)的相關(guān)技巧以及回調(diào)函數(shù)的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-12-12JavaScript輸入分鐘、秒倒計時技巧總結(jié)(附代碼)
這篇文章主要介紹了JavaScript輸入分鐘、秒倒計時的代碼實(shí)現(xiàn),通過css和js代碼展示了邏輯過程,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08常常會用到的截取字符串substr()、substring()、slice()方法詳解
javascript中給我們提供三個截取字符串的方法,分別是:slice(),substring()和substr()。下面我們對這三個函數(shù)進(jìn)行詳細(xì)說明和比較,需要的朋友可以參考下2015-12-12javascript實(shí)現(xiàn)貪吃蛇小練習(xí)
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)貪吃蛇的小練習(xí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-07-07