javascript - 页面加载时模式不会自动出现
问题描述
我找不到在此页面加载时我的模式没有触发的原因。
我的模态有 div 标签id="my-modal"
,当我使用相同的 ID$('#my-modal').modal('show');
但没有出现时应该可以工作。
两种选择(使用$(document).ready(function(){
或$(window).on('load',function(){
)在页面中均无效。
任何人都可以帮忙吗?这是代码:
<?php
session_start();
require_once('info.vc.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>COUPONS | CARDS</title>
<meta name="author" content="STASHTECH">
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<link href="../_lib/v/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script src="../_lib/v/ckeditor/ckeditor.js"></script>
<link rel="stylesheet" href="../cards/css/style.css">
<link rel="apple-touch-icon" href="../img/favicon.png">
<link rel="icon" href="../img/favicon.png">
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
</head>
<body class="bg-color-white">
<?php require_once('header-only.php'); ?>
<div id="my-modal" class="modal text-align-center">
<div class="m-content">
<div class="m-header">
<span class="close">×</span>
<h1>THANK YOU FOR CLAIMING A COUPON!</h1>
</div>
<div class="m-body">
<h1 class="bold_font color-mwc-orange">YOU HAVE CHOSEN:</h1>
<br>
<?php
$claim_coupon = $rowProduct['title'];
$claim_coupon = strtoupper($claim_coupon);
echo '<h1 class="bold_font color-mwc-blue">'.$claim_coupon.'</h1>';
?>
<br>
<div id="container">
<?php
if ($packageid <= 1) {
$ribbon = 'ribbon-elite';
} else if ($packageid == 2) {
$ribbon = 'ribbon-premium';
} else if ($packageid == 3) {
$ribbon = 'ribbon-luxury';
}
echo('<a href="membership.php"><img style="display:inline;" src="../img/'.$ribbon.'.png"></a> ');
if($packageid == 1) {
echo('<h1 style="display:inline;">Elite <br/></h1>');
} else if($packageid == 2) {
echo('<h1 style="display:inline;">Premium <br/></h1>');
} else if($packageid == 3) {
echo('<h1 style="display:inline;">Luxury <br/></h1>');
}
?>
</div>
<h3>to view other coupons you have claimed, <a href="membership.php" class="no-underline">click here.</a></h3>
<br>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-12 spacer"></div>
<div class="col-md-5">
<img src="../img/uploads/<?php echo($rowProduct['photosrc']); ?>" class="img-responsive clinic">
<img src="../img/shadow-bottom.png" class="img-responsive">
<div class="col-md-12 spacer"></div>
<div class="col-xs-12 text-align-center">
<input type="submit" class="full_width registerbtn " id="back" value="BACK">
</div>
<div class="col-md-12 border-top spacer"><br></div>
<div class="col-md-12 spacer"><br></div>
</div>
<div class="col-md-6 col-md-offset-1 border-left">
<br>
<div class="col-md-12">
<br>
<br>
<?php echo($rowProduct['body']); ?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 spacer">
</div>
</div>
<div class="row border-top">
<div class="col-md-12">
<br> RELATED CARDS <br><br>
<?php
$i = 0;
foreach($lstProduct as $rowProduct) {
?>
<div class="col-md-4 spacer">
<div class="col-md-12">
<?php
$packageid = $rowProduct['packageid'];
if ($packageid <= 1)
$ribbon = 'ribbon-elite';
elseif ($packageid == 2)
$ribbon = 'ribbon-premium';
elseif ($packageid == 3)
$ribbon = 'ribbon-luxury';
for($j = 0; $j < $packageid; $j++) {
echo(' <img src="../img/'.$ribbon.'.png" class="small-icon"> ');
}
?>
</div>
<div class="col-md-12">
<a href="info.php?i=<?php echo($rowProduct['productid']) ?>">
<img src="../img/uploads/<?php echo($rowProduct['photosrc']) ?>" class="img-responsive clinic">
<img src="../img/shadow-bottom.png" class="img-responsive">
</a>
</div>
</div>
<?php
$i = $i + 1;
if($i >= 3) {
echo('<div class="col-md-12"></div>');
$i = 0;
}
} ?>
</div>
</div>
<div class="row">
<div class="col-md-12 spacer">
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#my-modal').modal('show');
});
</script>
<script src="js/back_button.js"></script>
<script src="../_lib/v/jquery.slim.min.js"></script>
<script src="../_lib/v/bootstrap/js/bootstrap.min.js"></script>
<script src="../_lib/v/jquery-ui/jquery-ui.js"></script>
<script src="../_lib/v/jscolor/jscolor.js"></script>
</body>
</html>
解决方案
尽管我们在问题中没有提供任何错误或调试数据,但如果我不得不通过查看代码做出假设,我想说最可能的问题是您尝试在您之前运行 jQuery 代码'已经将 jQuery 加载到页面中。这可能会在您的控制台中生成错误,例如$ is not defined
- 这告诉您它无法找到能够执行您的代码的必要 jQuery 函数。
浏览器在<script>
加载块后立即执行它们 - 并且块按照它们在 HTML 中的顺序加载。
尝试移动
<script type="text/javascript">
$(document).ready(function () {
$('#my-modal').modal('show');
});
</script>
在所有其他<script>
块下方 - 作为一般规则,您通常应该在页面 JS 之前加载外部 JS 以避免这种依赖问题。
推荐阅读
- objective-c - 在 Objective-C 中的函数调用后等待特定时间
- swift - Swift 动态 UIPickerView
- python - 有没有办法在 python 的列表中混合/“洗牌”值?
- typescript - D3js有向力图 - 不透明度不会即时改变
- r - 是否可以在单个 data.table 表达式中按 data.table X[Y] 进行子集化并按 Y 中的变量分组?
- ios - 在 ScrollView 中设置 ContentView 高度以动态更改
- regex - 正则表达式捕获日期,然后是文本
- kiwi-tcms - 升级到 Kiwi 5.3.1 后无法通过 Kiwi TCMS Python API 创建测试运行
- xslt - 开始运行撒克逊
- r - 编写函数以将行添加到数据框中