Как сделать, чтобы перетаскиваемый объект появлялся в начальной загрузке с помощью jquery или css? - PullRequest
0 голосов
/ 04 февраля 2019

Я хочу перетаскиваемый или подвижный поповер, потому что, когда на одной странице открыто два всплывающих окна, два поповера перекрываются друг другом.Для этого вы можете проверить скриншот ниже.enter image description here

Итак, я хочу переместить поповер, используя указатель мыши, где я хочу разместить.Так что я могу видеть оба поповера одновременно.

Мой уже код.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h3>Popover Example</h3>
  <a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover">Toggle popover1</a>
  <br/>
  <a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover">Toggle popover2</a>
</div>

<script>
$(document).ready(function(){
    $('[data-toggle="popover"]').popover();   
});
</script>

</body>
</html>

Я думаю, что могу использовать перетаскиваемую функцию, но она не работает, я не знаю, как именно это сделатьпримените к jQuery, чтобы он мог работать.

В соответствии с моими потребностями вы можете проверить этот подвижный модал, мне нужно такое же подвижное действие в моем поповере.Для этого, пожалуйста, проверьте скриншот ниже gif и ссылку для большего понимания.
Ссылка: https://codepen.io/adamcjoiner/pen/PNbbbv enter image description here

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Вы можете использовать data -place = "..." в своем теге "a", чтобы указать, где должны открываться всплывающие окна.Например, в вашем коде это может быть как:

        <!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h3>Popover Example</h3>
  <p>Popovers are not CSS-only plugins, and must therefore be initialized with jQuery: select the specified element and call the popover() method.</p>
  <a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover" data-placement="top">First popover</a>
    <a href="#" data-toggle="popover" title="Popover Header" data-content="Some content inside the popover" data-placement="bottom">Second popover</a>
</div>

<script>
$(document).ready(function(){
  $('[data-toggle="popover"]').popover();   
});
</script>

</body>
</html>

значения внутри размещения данных могут быть следующими: верхний-нижний правый и левый

ОБНОВЛЕНИЕ: Я думаю, это будет работать для вас:

$(".draggable").popover({
    html:true,
    content: "<p>Drag me</p>"

}).popover('show');

$('.popover').draggable();
    .popover{position: relative !important}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.11.3/jquery-ui.js"
 integrity="sha256-0vBSIAi/8FxkNOSKyPEfdGQzFDak1dlqFKBYqBp1yC4="
 crossorigin="anonymous"></script>
 
 
<div class="row">
  <div class ="col-auto">
  <h2>
   sendhelp
  </h2>
  </div>
</div>
<div id="Normal">
    <a class="btn btn-primary draggable">Popover</a>
</div>

ОБНОВЛЕНИЕ 2: Я сделал скрипку, и вы можете использовать ее: https://jsfiddle.net/uhwrev06/

Теперь она движется точно с помощью мышибез пространства между ними!

ОБНОВЛЕНИЕ 3: Я исправил проблему, которую вы только что упомянули!https://jsfiddle.net/pe2zf1x8/

0 голосов
/ 04 февраля 2019

Предложение: Попробуйте взять под контроль popover и переопределить CSS.

 $('#elm').popover({
        placement: 'bottom',
        html: true,
        content: function() {
            return $('#container').html();
        },


        template: '<div class="popover my-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>'
    });

Образец CSS:

.popover.my-popover {
    margin-left: 15px;
    margin-top: -20px;

    /* Or: margin: -20px 0 0 15px; */
}

Подписка на показанное.Событие bs.popover:

$('#my-popover').on('shown.bs.popover', function() {
    // parseInt removes "px"
    var currentTop = parseInt($(this).css('top'));
    var currentLeft = parseInt($(this).css('left'));

    $(this).css({
        top: (currentTop + 200) + 'px',
        left: (currentLeft + 150) + 'px'
    });
});
...