Yii2学习笔记-Modal窗口 [ 技术分享 ]
最近在弄modal窗口,发现几乎每个页面都需要,做了一个通用的modal,放到了main layout中,其他页面直接使用即可。
views/layouts/main.php 中增加
<?php
Modal::begin([
'id' => 'common-modal',
'header' => '<h4 class="modal-title"></h4>',
'footer' => '<a href="#" class="btn btn-primary" data-dismiss="modal">关闭</a>',
]);
$js = <<<JS
$(".modaldialog").click(function(){
aUrl = $(this).attr('data-url');
aTitle = $(this).attr('data-title');
console.log(aTitle);
console.log(aUrl);
$($(this).attr('data-target')+" .modal-title").text(aTitle);
$($(this).attr('data-target')).modal("show")
.find(".modal-body")
.load(aUrl);
return false;
});
JS;
$this->registerJs($js);
Modal::end();
?>
使用示例:
Html::a('修改密码', '/account/changepwd', [
'id' => 'account-changepwd',
'class' => 'modaldialog',
'data-toggle' => 'modal',
'data-url' => Url::toRoute(['/account/changepwd']),
'data-title' => '修改密码',
'data-target' => '#common-modal',
])
共 7 条回复
-
`感觉并不是很好,这样设计会将HTML,JS都写入到了PHP中,后期维困难。而且这个设计扩展性不好。
模态框其实就是简单的HTML弹框,不要理解的过于复杂tip.html (这个文件里可以写各种各种的模态框样式)例如:
<div id="confirm">自己脑补样式格式</div> <div id="fail">自己脑补样式格式</div> <div id="success">自己脑补样式格式</div> <div id="warning">自己脑补样式格式</div>
...等等。
然后tip.js
var modal_confirm = $("#confirm"); var modal_fail = $("#fail"); var modal_success = $("#success"); var modal_warning = $("#warning"); ...后期扩展,可以继续在下面写,同时在tip.html模板里也要有对应的DIV var modal = { confirm: function (message, type) { modal_confirm .find('.modal-info').html(message); if (type == '') { modal_confirm.find('.modal-body i').hide(); } else if (type == 'success') { modal_confirm.find('.modal-body i').removeClass().addClass('fa fa-check-circle'); } else if (type == 'error') { modal_confirm.find('.modal-body i').removeClass().addClass('glyphicon glyphicon-remove-circle'); } modal_confirm.modal('show'); return { on: function (callback) { if (callback && callback instanceof Function) { modal_confirm.find('.ok').click(function () { callback(true) }); } } }; }, ....这里应该知道怎么写了吧 }
如何使用呢:
modal.confirm('哈哈哈','success'); ....(其他样子,自己扩展)`
共 1 条回复 -
wangxinshuai 回复于 2017-07-06 20:30 举报
我的弹窗不展示而且也不跳转页面
lijun_ay
注册时间:2016-04-26
最后登录:2019-02-20
在线时长:5小时4分
最后登录:2019-02-20
在线时长:5小时4分
- 粉丝1
- 金钱435
- 威望0
- 积分485