html 如何从Javascript创建 Bootstrap 弹出窗口?

5ktev3wc  于 2022-12-16  发布在  Java
关注(0)|答案(2)|浏览(126)

我正在创建一个带有一系列模拟时钟的页面,这些时钟可以包含会议(如果有会议,则该时间段在时钟上以蓝色突出显示),其中每个模拟时钟代表不同的一天。
我正在尝试这样做,如果你点击模拟时钟的一部分,那里已经安排了一个会议(即该部分是蓝色的),一个Bootstrap弹出窗口显示有关会议的细节。我正在处理一个名为piechart.js的文件中的点击,但目前我只知道如何创建带有内置在html中的按钮的弹出窗口。
如果我想在piechart.js中处理这个点击,并创建一个弹出窗口位于特定的时钟,包含特定的会议信息(存储在一个名为meeting.js的文件中,我知道如何从那里获得会议信息),我如何使用javascript来完成这个任务?我是这些语言的新手,所以请耐心等待!谢谢!

wvt8vs2t

wvt8vs2t1#

由于蓝色很可能是由样式表类的更改控制的,所以只需找到该类中的元素并应用弹出窗口即可。我在www.example.com网格上使用mouseover事件完成了这datatables.net一操作(在createdRow方法中,我向行添加了'someclass',以将它们与页面上的其他TDS区分开来)。

function setPopover() {

    $('.someclass').on('mouseenter', function (e) {
        $('.someclass').not(this).popover('destroy');
        var InstId = $(this).find("td:first-child").html();
        var InstName = $(this).find("td:first-child").next("td").html();
        if (!$(this).data("bs.popover")) {

            $(this).popover({
                placement: 'right',
                trigger: 'manual',
                html: true,
                title: InstName,
                content: function () {
                    return $.ajax({
                        url: '@Url.Action("ControllerMethod", "Controller")',
                        data: { id: InstId },
                        dataType: 'html'                            
                    }).responseText;
                }
            });

        }

        $(this).popover('show');
    });
}
x9ybnkn6

x9ybnkn62#

要使用JavaScript创建新的弹出窗口,可以使用popover()函数。
要确定哪一天已经安排了会议,我们可以添加一个自定义的data-booked属性。
选择器$('[data-booked="true"]')是一个属性选择器,将只显示该特定按钮的弹出窗口。
如果您单击已预订日期(今天)的按钮,您将看到弹出窗口,但如果您单击其他按钮,则不会显示任何内容,因为该日期尚未预订。

var times = ["8:00", "9:00", "10:00", "11:00", "12:00", "1:00"];

function randomTime() {
    return times[Math.floor(Math.random() * times.length)];
}

$('[data-booked="true"]').popover({ 
  html: true,
  title: "<span class='booked'>This is booked</span>", 
  content: "Meeting at " + randomTime() 
});
.button-group {
  margin: 50px;
}

.booked {
  background: blue;
  color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>

<div class="button-group">
  <button data-booked="true" class="btn btn-success" id="today">Today</button>
  <button data-booked="false" class="btn btn-warning" id="tomorrow">Tomorrow</button>
</div>

相关问题