2017-07-22 93 views
0

這是我的html:JAVASCRIPT彈出對話框顯示

<div class="popup" onclick="itemPopup()"> 

    <img src="{{$item->item->img}}"> 
    <span class="popuptext" id="myPopup"> 

    {{$item->title}}<br> 
    <a href="/sell-item/{{$item->id}}" class="btn-sm btn-danger" style="text-decoration: none"> 
    Sell for {{$item->price/2}} <img src="/img/gold.png"></a><br> 
    <p>{{$item->description}}</p> 

    </span> 
</div> 
@endforeach 

這是我的JS:

function itemPopup() { 
    var popup = document.getElementById("myPopup"); 
    popup.classList.toggle("show"); 
} 

當我在圖像點擊彈出這樣表示:

enter image description here

無論我點擊第二把劍,他的彈出框還是會出現在第一把劍上。如何解決這個問題?

+0

分享你的CSS太,更好地分享你現場演示。我知道你的問題是什麼,但沒有與CSS和js的現場演示不能幫助 – Pedram

+0

@pedram沒有CSS。 – feknaz

回答

1

爲刀片的每次迭代分配唯一的ID,然後在JavaScript函數調用中傳遞相同的ID。你的HTML看起來像這樣。

<div class="popup" onclick="itemPopup('myPopup{{$item->id}}')"> 

    <img src="{{$item->item->img}}"> 
    <span class="popuptext" id="myPopup{{$item->id}}"> 

    {{$item->title}}<br> 
    <a href="/sell-item/{{$item->id}}" class="btn-sm btn-danger" style="text-decoration: none"> 
    Sell for {{$item->price/2}} <img src="/img/gold.png"></a><br> 
    <p>{{$item->description}}</p> 

    </span> 
</div> 

和JavaScript:

function itemPopup(ID) { 
    var popup = document.getElementById(ID); 
    popup.classList.toggle("show"); 
} 
+0

' id}}」>'現在如何獲取span id? – feknaz

+0

編輯我的答案,包括HTML。我爲每次迭代分配一個唯一的ID,然後在JavaScript調用中傳遞它 –

+0

現在寫什麼ID? – feknaz