关于jq一些基本监听事件

一直一来对js不太熟悉,做起东西来感觉很出力。这次做模态框,都折腾了不少时间。期间遇到的问题,记录在此。

背景:

bootstrap本身有模态框的调用函数,但是由于无法弄清其原理,实在不知怎么下手。查阅实践后发现:

<script type="text/javascript">

$("#Modalname").modal(‘show‘);

</script>

这么一条小代码可以实现全屏mask的效果。但是这种mask会取消滑动块,因此,模态框就得根据当前窗口位置和大小来放置,否则可能出现看不到的情况。(水平略渣,难以去拓展bootstrapjs。。。所以只能想想能够实现新办法)

窗口大小变化的监听

很简单的代码:

<script type="text/javascript">
$(function(){
    $(window).resize(function(){});
});
</script>

当窗口大小发生变化时,会触发function(){}函数。

滑动块的监听

<script type="text/javascript">
$(function(){
    $(window).scroll(function(){});
});
</script>

当滑动块位置发生变化时,触发function(){}函数。

其他

说到底,都是为了让模态框处于可见的位置,因此除了监听时间,更重要的是计算模态框的位置:

<script type="text/javascript">
$(function(){
    $(window).resize(function(){
        var Otop = $("body").scrollTop();             //获取竖直滑动距离
        var width = document.body.clientWidth;  //获得窗口当前宽度
        var height = document.body.clientHeight;//获取窗口当前高度
        var Dwidth = $("#example").width();       //获取模态框宽度
        var Dheight = $("#example").height();    //获取模态框高度
        var left = width/2 - Dwidth/2;
        var top = height/2 - Dheight/2 + Otop;
        $("#example").css({
            "top":top,
            "left":left
        });
    });
    $(window).scroll(function(){
        $(window).resize();
    });
});
</script>

这样就可以让框在当前页面中间显示了~

时间: 2024-10-18 15:47:30

关于jq一些基本监听事件的相关文章

JS,JQ及时监听input值的变化,MUI的input搜索框里的清除按钮的点击监听事件

JS: document.getElementById("input对象的ID").addEventListener('input',function(){ console.log("aaaaa"); }); JQ: $("input对象").bind("input  propertychange",function(){ console.log("aaaaa"); }): MUI 清除按钮的点击的监听:

JAVAscript学习笔记 js句柄监听事件 第四节 (原创) 参考js使用表

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>句柄添加监听事件</title> <script type="text/javascript" src="tzy.js"></script> </head> <body>

浅谈postMessage多页面监听事件

最近做了一个Echarts和Highcharts多图多页面连动的效果,就用到postMessage 如下介绍: 最开始在最外围的页面也就是所有页面的父级页面添加postMessage监听事件以便监听下面子级页面的动态,代码: window.parent.addEventListener('message',function(e){ if(e.source != window.parent) return; var names = localStorage.getItem("toName"

ios ---键盘的监听事件

//在view将要出现的时候重载viewWillAppear方法添加通知 监听事件 keyboardWillShow:  keyboardWillHide: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:

js html 交互监听事件学习

事件处理程序(handler): HTML事件处理程序: <input type="button" value="Click Here" onclick="showMessage();" /> <script type="text/javascript"> function showMessage() { alert('Clicked!'); } JavaScript指定事件处理程序: <inpu

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On

Android——监听事件总结1

各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnLongClickListener(new View.OnLongClickListener() { 2.单选框 RadioGroup radio_gp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 3.复选

datePicker 及 timePicker 监听事件 获取用户选择 年月日分秒信息

public class MainActivity extends AppCompatActivity { private TimePicker timePicker; private DatePicker datePicker; private Calendar cal; private int year; private int month; private int day; private int hour; private int minute; @Override protected

Android中Preference的使用以及监听事件分析

> 在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局.当然,凡事都有例外,FMRadio应用程序中则使用了View布局结构(可能是该应用程序是marvel公司提供的,如果由google公司做,那可说不准).归根到底,Preference布局结构和View的布局结构本质上还是大同小异,Preference的优点在于布局界面的可控性和高效率以及可存储值的简洁性(每个