鼠標懸停小圖標顯示大圖標
頁面元素為div->table->tr->td,對于td中的圖片,鼠標懸停上則顯示大圖片,鼠標離開則大圖片消失:
首先需要知道jq創(chuàng)建dom元素語法;$(html標簽),例如這里創(chuàng)建了一個img標簽var img = $("<img class='changePhoto'></img>");
其次鼠標的懸停與離開這里使用的是hover方法,語法為$(selector).hover(inFunction,outFunction),
規(guī)定當鼠標指針懸停在被選元素上時要運行的兩個函數(shù)。其中inFunction是必須的,outFunction是可選的。
該方法觸發(fā) mouseenter 和 mouseleave 事件。
注意:如果只規(guī)定了一個函數(shù),則它將會在 mouseenter 和 mouseleave 事件上運行。
這里定義inFunction為確定大圖片的位置,outFunction為remove創(chuàng)建的img節(jié)點。
1)只創(chuàng)建對象是不夠的,還需要將創(chuàng)建的對象添加到文檔節(jié)點中去,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)建的目標元素,這里是img,第三個是目標元素可以出現(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判斷,保證無論怎么劃動鼠標的滑輪,目標元素始終出現(xiàn)在屏幕上。 top = minTop; } var $firstElement = $($(".fatherDivtbody tr")[0]); img.css('top',top - $firstElement.position().top + 40); }
3)remove創(chuàng)建的對象;$element.remove();
4) 目標元素的css需要滿足一些條件:position:absolute
.changePhoto { position: absolute; width: 120px; height: 160px; left: 300px; right: 10px; float: right; z-index: 9; }
相關(guān)文章
Javascript基于AJAX回調(diào)函數(shù)傳遞參數(shù)實例分析
這篇文章主要介紹了Javascript基于AJAX回調(diào)函數(shù)傳遞參數(shù)的方法,結(jié)合實例形式較為詳細的分析了JavaScript使用ajax傳遞參數(shù)的相關(guān)技巧以及回調(diào)函數(shù)的實現(xiàn)技巧,需要的朋友可以參考下2015-12-12JavaScript輸入分鐘、秒倒計時技巧總結(jié)(附代碼)
這篇文章主要介紹了JavaScript輸入分鐘、秒倒計時的代碼實現(xiàn),通過css和js代碼展示了邏輯過程,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08常常會用到的截取字符串substr()、substring()、slice()方法詳解
javascript中給我們提供三個截取字符串的方法,分別是:slice(),substring()和substr()。下面我們對這三個函數(shù)進行詳細說明和比較,需要的朋友可以參考下2015-12-12