国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

鼠標懸停小圖標顯示大圖標

2019-11-20 10:44:10
字體:
來源:轉載
供稿:網友

頁面元素為div->table->tr->td,對于td中的圖片,鼠標懸停上則顯示大圖片,鼠標離開則大圖片消失:

首先需要知道jq創建dom元素語法;$(html標簽),例如這里創建了一個img標簽var img = $("<img class='changePhoto'></img>");

其次鼠標的懸停與離開這里使用的是hover方法,語法為$(selector).hover(inFunction,outFunction),
規定當鼠標指針懸停在被選元素上時要運行的兩個函數。其中inFunction是必須的,outFunction是可選的。

該方法觸發 mouseenter 和 mouseleave 事件。

注意:如果只規定了一個函數,則它將會在 mouseenter 和 mouseleave 事件上運行。

這里定義inFunction為確定大圖片的位置,outFunction為remove創建的img節點。

1)只創建對象是不夠的,還需要將創建的對象添加到文檔節點中去,jq中使用的方法為

append() - 在被選元素的結尾插入內容
prepend() - 在被選元素的開頭插入內容
after() - 在被選元素之后插入內容
before() - 在被選元素之前插入內容

應用在這里則為先給該img賦值,再append:

img.attr("src", $element.find(".prePhoto").attr("src"));$element.append(img);

2)確定大圖片位置的時候,需要三個參數,第一個是參照元素,這里選的是td的parents元素,tr:var $element = $(this).parents("tr")。

第二個是本次創建的目標元素,這里是img,第三個是目標元素可以出現的區域元素,一般是一個很大的元素,這里是table的父元素div,$(".fatherDiv")

因此,具體的方法為,

function getPosition($element, img, $(".fatherDiv"){var top = $element.position().top + $element.height();//得到top:參照元素的top + 參照元素本身的height。var maxBottom = $(".fatherDiv").height();//得到區域元素的height。var minTop = 40;if (top + img.height() > maxBottom) {top = $element.position().top - img.height();}if (top < minTop) {//兩個if判斷,保證無論怎么劃動鼠標的滑輪,目標元素始終出現在屏幕上。top = minTop;}var $firstElement = $($(".fatherDivtbody tr")[0]);img.css('top',top - $firstElement.position().top + 40);}

3)remove創建的對象;$element.remove();

4) 目標元素的css需要滿足一些條件:position:absolute

.changePhoto {position: absolute;width: 120px;height: 160px;left: 300px;right: 10px;float: right;z-index: 9;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 前郭尔| 峨眉山市| 长沙市| 远安县| 延津县| 中西区| 南郑县| 临泉县| 蒙自县| 沙坪坝区| 宜兰市| 元朗区| 平山县| 嘉善县| 阿图什市| 岱山县| 交城县| 镇原县| 荔波县| 菏泽市| 新绛县| 莒南县| 镇沅| 二连浩特市| 彭水| 宝鸡市| 土默特左旗| 田阳县| 大港区| 天津市| 阿荣旗| 伊宁县| 神木县| 万年县| 托克托县| 靖边县| 靖边县| 奇台县| 古浪县| 吉林市| 吉林市|