Мне интересно, можно ли расположить div
на основе того, какой элемент в таблице щелкнул. У меня есть сетка изображений в моем коде, и если щелкнуть изображение, я хочу, чтобы во время всплывающего окна рядом с изображением появлялся речевой сигнал, предоставляя пользователям возможность делать некоторые вещи с изображениями.
У меня есть это (хотя и с большим количеством изображений):
<div id="edit" class="popup"><center><p>Edit | Share | Delete</p></center></div>
<ul>
<li>
<img id="image1" class="image" src="01.png"/>
</li>
<li>
<img id="image2" class="image" src="02.png"/>
</li>
<li>
<img id="image3" class="image" src="03.png"/>
</li>
</ul>
и Javascript:
$(".image").click(function(){
var id = $(this).attr('id');
$("#edit").fadeIn();
};
Ну, поскольку вы используете jQuery, я бы предложил использовать функцию offset
(https://api.jquery.com/offset/)
вам нужно будет установить положение редактирования в абсолютное, с CSS:
#edit{
position: absolute;
}
Javascript:
$(".image").click(function(){
var id = $(this).attr('id');
var offset = $(this).offset(); //get the clicked element position
offset.top += $(this).height(); // add the height, because we want the bubble
// to be directly below
$("#edit").offset(offset); //set 'edit offset
$("#edit").fadeIn();
});
посмотрите скрипку: http://jsfiddle.net/SpacePineapple/h4FXb/