简体   繁体   English

当onclick转到div

[英]When onclick go to div

I have something that I need help with. 我有需要帮助的东西。 I want to click on an image and when I click I want to go to the div . 我想单击一个图像,然后单击以转到div

This is the code that I have and if you copy this and try it yourself, you will see that when I click on the image a div is opened but if I have many images I won't know where is open so I want to go to the div when I click on the image. 这是我所拥有的代码,如果您复制并自己尝试,您将看到单击图像时打开了一个div ,但是如果我有很多图像,我将不知道打开了哪个位置,所以我想去当我单击图像时,将其转到div

<img src="http://www.hdwallpapers.in/walls/taboo_tom_hardy_2017-wide.jpg" style="width:100%" onclick="onClick(this)" alt="Taboo">
<div id="modal01" class="w3-modal w3-black w3-padding-0" onclick="this.style.display='none'">
    <span class="w3-closebtn w3-text-white w3-opacity w3-hover-opacity-off w3-xxlarge w3-container w3-display-topright">×</span>
    <div class="w3-modal-content w3-animate-zoom w3-center w3-transparent w3-padding-64">
      <img id="img01" class="w3-image">
      <p id="caption"></p>
    </div>
</div>

<script>
function onClick(element) {
    document.getElementById("img01").src = element.src;
    document.getElementById("modal01").style.display = "block";
    var captionText = document.getElementById("caption");
    captionText.innerHTML = element.alt;
}
</script>

I don't know how it will be on pure js. 我不知道纯js的效果如何。 But in JQ you can use next() 但是在JQ中,您可以使用next()

  <img src="http://www.hdwallpapers.in/walls/taboo_tom_hardy_2017-wide.jpg" style="width:100%" class="click_image" alt="Taboo">
  <div id="modal01" class="w3-modal w3-black w3-padding-0" onclick="this.style.display='none'">
        <span class="w3-closebtn w3-text-white w3-opacity w3-hover-opacity-off w3-xxlarge w3-container w3-display-topright">×</span>
        <div class="w3-modal-content w3-animate-zoom w3-center w3-transparent w3-padding-64">
          <img id="img01" class="w3-image">
          <p id="caption"></p>
        </div>
   </div>

And in jq: 并在jq中:

$('.click_image').click(function(){
 var alt=$(this).attr('alt');
$(this).next().find('#caption').html(alt);
});

But it will work if you have div after each image. 但是,如果在每个图像后都加上div,它将起作用。 if you have many images and one div with id modal01? 如果您有很多图片和ID为modal01的一个div? then use this: 然后使用这个:

 $('.click_image').click(function(){ var alt=$(this).attr('alt'); $('div#modal01').show(0).find('#caption').html(alt); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <img src="http://www.hdwallpapers.in/walls/taboo_tom_hardy_2017-wide.jpg" style="width:100%" class="click_image" alt="Taboo"> <img src="http://www.hdwallpapers.in/thumbs/2017/power_rangers_2017_4k_8k-t2.jpg" style="width:100%" class="click_image" alt="Rangers"> <img src="http://www.hdwallpapers.in/thumbs/2014/titanic-t2.jpg" style="width:100%" class="click_image" alt="Titanic"> <div id="modal01" class="w3-modal w3-black w3-padding-0" onclick="this.style.display='none'"> <span class="w3-closebtn w3-text-white w3-opacity w3-hover-opacity-off w3-xxlarge w3-container w3-display-topright">×</span> <div class="w3-modal-content w3-animate-zoom w3-center w3-transparent w3-padding-64"> <img id="img01" class="w3-image"> <p id="caption"></p> </div> </div> 

If your issue is scrolling to div when click on the image, you can use: 如果您的问题是在单击图像时滚动到div,则可以使用:

scrollIntoView : he Element.scrollIntoView() method scrolls the element on which it's called into the visible area of the browser window. scrollIntoView :Element.scrollIntoView()方法将调用该元素的元素滚动到浏览器窗口的可见区域。

The snippet: 片段:

 function onClick(element) { document.getElementById('modal01').scrollIntoView(); } 
 <img src="http://www.hdwallpapers.in/walls/taboo_tom_hardy_2017-wide.jpg" style="width:100%" onclick="onClick(this)" alt="Taboo"> <div id="modal01" class="w3-modal w3-black w3-padding-0" onclick="this.style.display='none'"> <span class="w3-closebtn w3-text-white w3-opacity w3-hover-opacity-off w3-xxlarge w3-container w3-display-topright">×</span> <div class="w3-modal-content w3-animate-zoom w3-center w3-transparent w3-padding-64"> <img id="img01" class="w3-image"> <p id="caption"></p> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM