[英]Using JavaScript, how do I change the CSS style of one element based on the CSS style of another element?
[英]How do I compare css style values using JavaScript if conditions?
我有一個快速的問題。 如果我想將樣式的左/右值與另一個坐標(讓我們說鼠標)進行比較,該怎么做?
這是我在沒有鼠標坐標的情況下嘗試執行的操作,但是由於某種原因,我的條件無法執行...
<style>
#container
{
position:absolute;
left:400px;
top:200px;
}
</style>
<script>
function moveExit(){
var containerId = document.getElementById("container").style;
if(containerId.left == 400 + "px")
containerId.left = 395 + "px";
}
</script>
這是我的身體:
<body>
<div id="container">
<img
src="Images/image.jpg"
onmouseover="moveExit();"
/>
</div>
</body>
這是我第一次玩javascript。
為此,您需要使用計算樣式。
var left = window.getComputedStyle(document.getElementById("container")).left
對於IE8,您必須使用currentStyle屬性,因為不支持計算樣式。
document.getElementById("container").currentStyle.left
嘗試這樣的事情:
$(document).ready( function() {
$("#container").mouseleave(function() {
if ($(this).css("left")=="400px") {
alert("Left = 400px");
}
});
});
當然可以對此進行更改,但是對於您所需要的它應該可以正常工作。 您當然可以去更改alert()函數以使其符合您的需要(修改左偏移量),但是希望這會有所幫助!
雖然我不是100%不確定您要完成什么,但是這里有一些注釋和建議。
我將使用jQuery而不是用戶javascript 。 這是David先前建議的。 jQuery的一大優點是它可以解決大多數瀏覽器不兼容的問題。
要使用jQuery完成此操作,您需要導入jquery,然后可以像這樣使用它:
<script type="text/javascript" src="./jquery/jquery.js"></script>
<script type="text/javascript">
function moveExit(){
var $element = jQuery('#container');
$element.css('left', '350px');
}
</script>
另請注意,我已將“ type”屬性添加到腳本元素。
作為一個旁注,我還要提醒您向img元素添加“ alt”屬性。 對於可訪問性以及由於任何原因阻止圖像時均適用。
可以更好地了解您要完成的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.