0
所以我有我的模擬商店的滾動效果,每個框的圖像和信息都取自.sql文件和自動生成的部分。我希望它也覆蓋每個部分。我可以硬編碼它,但那太過嚴厲了。php生成的項目的圖像覆蓋
<div id="scoll" class="group">
<div class="container">
<div class="center_items">
<?php
//external pages area
include_once('config\database.php');
include_once('object/chair.php');
$database = new Database();
$conn = $database->getConnection();
$chair = new Chair($conn);
$stmt = $chair->readAll();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
?>
<div class="product_box" >
<img src="img/<?php echo $row['THUMB']; ?>" alt="chair_image"> </a>
<h4><a href="movies-details.php?detailsid=<?php echo $row['ID'];?>"> <?php echo $row['chair_name'];?></a> </h4>
<p>$<?php echo $row['PRICE'];?></p>
<div class="buy-box-shadow group">
<a href="chair-details.php?detailsid=<?php echo $row['ID'];?>" class="btn">Buy me!</a>
</div>
</div>
<?php
}
?>
</div>
</div>
</div>
JS
onload=init;
function init() {
document.getElementsByClassName("product_box")[0].onmouseover = function(e){
e.preventDefault();
mouseOver();
}
document.getElementsByClassName("product_box")[0].onmouseout = function(e){
e.preventDefault();
mouseOut();
}
function mouseOver() {
document.getElementsByClassName("buy-box-shadow")[0].style.opacity = .9;
}
function mouseOut() {
document.getElementsByClassName("buy-box-shadow")[0].style.opacity = 0;
}
看到代碼被硬編碼爲第一個元素,有點困惑如何讓它去爲每個元素。
嗯這很有趣我在前面學習了一些關於foreach循環的知識,所以對於shadow box我怎麼寫呢?我試過模仿第一個例子,但它不起作用。我寫它作爲函數mouseOver(){ shadow_boxes.style.opacity = .9; } –
嗯......我明白了。爲什麼我們要把它分解成像這樣的多個函數?或者說,你爲什麼要在你從mouseover和mouseout中調用的函數中調用getElementByClassName?我會嘗試將currentValue傳遞給該函數,然後使用.style.opacity屬性從那裏設置不透明度。您已經擁有DOM對象,您應該可以使用返回到原始數組的內容更改其屬性。也許是這樣的:function mouseOver(e){e.style.opacity = 9;}'只要將currentValue傳遞給mouseOver函數即可。 –