웹 프론트엔드 JS 튜토리얼 부트스트랩은 팝업 및 드래그 효과를 구현합니다.javascript 기술

부트스트랩은 팝업 및 드래그 효과를 구현합니다.javascript 기술

May 16, 2016 pm 03:22 PM
bootstrap 팝업창 견인

때로는 특수 효과를 개발하는 것이 꽤 편할 때가 있습니다. 여기에서는 부트스트랩을 사용하여 약간의 다중 창 및 드래그 효과를 소개하겠습니다!

여기에서는 정적 열기 방법을 사용하지 않습니다. 1. 버튼을 트리거하고 열기 위한 링크를 추가합니다. 2. 동적 열기 js 스크립트를 작성합니다. 3. 모달 중간 콘텐츠를 작성합니다. dragging Effect; 5. 여러 모달을 열고 dragModal(new Array('modalId1','modalId2'));

를 호출합니다.

1. 버튼을 실행하고 열 수 있는 링크를 추가하세요.

<a href="javascript:;" title="开关" class="open-modal-dynamic" url="index.php&#63;m=index&c=cc&a=aa&id=22" alert='1' divid="editModal">打开modal<a>
<div id="addModal" class="modal hide fade" style="max-width:800px;" data-backdrop="static"></div>  <!-- 打开容器 -->  
로그인 후 복사

2. 동적 열기 js 스크립트 작성:

//打开弹窗
  $('.open-modal-dynamic').on('click', function(){
    var modalId = $(this).attr('divid') &#63; $(this).attr('divid') : 'Modal', url = $(this).attr('url');
    $.get(url, function(data){
      if(data.status == 1){
        //禁止选择文字,在拖动时会有影响
        $('html').off('selectstart').on('selectstart', function(){return false;});
        $('#' + modalId).html(data.htmlData);
        $('#' + modalId).modal({'show':true});
      }else{
        alert(data.info);
      }
    }, 'json');  

로그인 후 복사

3. 모달 중간 콘텐츠 작성:

<style>
  .line{margin-bottom: 5px;}
  .line .left{width: 100px;text-align:right;display:block;}
  .form-button{padding:2px 10px;background:#73A86A;color:#ffffff;border:none;}
  .form-button:hover{background:#146206;}
</style>
<div class="modal-header">
  <a class="close" title="关闭小窗口" data-dismiss="modal">×</a>
  <h3>modal window<h3>
</div>
<div class="modal-body" style="padding-bottom: 5px;">
  <div class="line">
    <span class="left">脚本名称:</span>
    <span>
   <select name="name">
  <option value='11'>11</option>
   <option value='22'>22</option>
    </select>
    </span>
  </div>
  <div class="line">
    <span class="left">日期:</span>
    <span style="word-break:break-all;" title="的时间">
      <input class="Wdate ipt date-picker" style="width: 100px;margin: 0;" type="text" id="date_add" value="" />
    </span>
  </div>
  <div class="line" title="设置">
    <span class="left">是否停止:</span>
    <span>
      <label><input type="radio" name="is_del_add" value="1" />强制停止</label>
      <label><input type="radio" name="is_del_add" value="0" />正常处理</label>
    </span>
  </div>
  <div class="line" title="按照实际情况允许进行模拟更改">
    <span class="left">执行情况:</span>
    <span>
      <label><input type="radio" name="status_add" value="5" onclick="javascript:return confirm('你确定要操作该状态吗,这是系统的操作,请确认?');" />11</label>
      <label><input type="radio" name="status_add" value="1" onclick="javascript:return confirm('你确定要操作该状态吗,这是系统的操作,请确认?');" />22成</label>
      <label><input type="radio" onclick="javascript:return confirm('你确定要操作该状态吗,这是系统的操作,请确认?');" name="status_add" value="2"/>223行</label>
      <label><input type="radio" onclick="javascript:return confirm('你确定要操作该状态吗,这是系统的操作,请确认?');" name="status_add" value="0" />445</label>
      <label><input type="radio" onclick="javascript:return confirm('你确定要操作该状态吗,这是系统的操作,请确认?');" name="status_add" value="4"  />55失败</label>
    </span>
  </div>
  <div class="line">
    <span>操作说明:</span>
    <textarea name="memo" id="memo" cols="100" rows="1" style="width:370px;></textarea>
  </div>
  <div class="line" style="text-align:center;">
    <input type="button" value="提交" class="form-button" id="submit2" />
    <input type="hidden" id="id_add" value="22" />
  </div>
</div>
<div class="modal-footer">
  <span class="loading"></span>
  <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
</div>
<script src="/js/dragModal.js"></script>
<script>
  $(function(){
    $('#submit2').off().on('click', function(){
      var status = $('input[name=status_add]:checked').val(),
          memo = $('#memo').val(),
          id = parseInt($('#id_add').val()),
          is_del = $('input[name=del_add]:checked').val(),
          cron_name = $('#name_add').val(),
          cron_date = $('#date_add').val(),
          url ='index.php&#63;m=xx&c=xx&a=';
      if(!memo){
        alert('请填写操作备注,如不处理,请直接关闭对话框!');
        return false;
      }
      $.post(url, {status: status, cron_name:cron_name, memo: memo, id: id, cron_date: cron_date, is_del: is_del}, function(data){
        if(data.status == 1){
          alert(data.info);
          window.location.reload();
        }else{
          alert(data.info);
        }
      }, 'json')
    });
 
  });
  //  drag effects begin, define the global variables to receive the changes,because of the different function of the modal
    dragModal('editModal');
</script>  
로그인 후 복사

4. 드래그 효과 추가:

var clicked = "0";
var dif = {};
;function dragModal(obj) {
 
  if(clicked == undefined || obj == undefined || dif == undefined){
    return false;
  }
  if(typeof obj == 'string')
  {
    obj = new Array(obj);
  }
  var modalNums = obj.length;
  //drag effects begin
  var i = 0;
  for (i = 0; i < modalNums; i++) {
    dif[obj[i]] = {'difx': 0, 'dify': 0};
  }
  $("html").off('mousemove').on('mousemove', function (event) {
    if (clicked == "0") {
      for (i = 0; i < modalNums; i++) {
        dif[obj[i]].difx = event.pageX - $("#" + obj[i]).offset().left;
        dif[obj[i]].dify = event.pageY - $("#" + obj[i]).offset().top;
      }
    }
    if (clicked > 0 && clicked <= modalNums) {
      var clickedObj = obj[clicked - 1];
      var newx = event.pageX - dif[clickedObj].difx - $("#" + clickedObj).css("marginLeft").replace('px', '');
      var newy = event.pageY - dif[clickedObj].dify - $("#" + clickedObj).css("marginTop").replace('px', '');
      $("#" + clickedObj).css({top: newy, left: newx});
    }
 
  });
 
  $("html").off('mouseup').on('mouseup', function (event) {
    clicked = "0";
  });
 
  for(i = 0; i < modalNums; i++){
    //注重此处不能直接传入i值,此处即为添加多窗口时的效果使用
    $("#" + obj[i] + " .modal-header").off().on('mousedown',{index: i}, function (event) {
      clicked = event.data.index + 1;
    });
    $("#" + obj[i] + " .modal-footer").off().on('mousedown', {index: i}, function (event) {
      clicked = event.data.index + 1;
    });
    $('#' + obj[i]).on('hide.bs.modal', function () {    //关闭时打开选中
      $('html').off('selectstart').on('selectstart', function () {
        return true;
      });
    });
 
  }
}


로그인 후 복사

5. 여러 모달을 열고 dragModal(new Array('modalId1','modalId2'));

을 호출합니다.

전체 과정은 이러하니 필요하시면 참고해주세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Win10에서 캘린더 이벤트에 대한 팝업 알림이 없으면 어떻게 해야 합니까? Win10에서 캘린더 이벤트 알림이 사라진 경우 어떻게 복구할 수 있습니까? Win10에서 캘린더 이벤트에 대한 팝업 알림이 없으면 어떻게 해야 합니까? Win10에서 캘린더 이벤트 알림이 사라진 경우 어떻게 복구할 수 있습니까? Jun 09, 2024 pm 02:52 PM

캘린더는 사용자가 일정을 기록하고 미리 알림을 설정하는 데 도움이 될 수 있습니다. 그러나 많은 사용자가 Windows 10에서 캘린더 이벤트 미리 알림이 팝업되지 않으면 어떻게 해야 하는지 묻고 있습니다. 사용자는 먼저 Windows 업데이트 상태를 확인하거나 Windows App Store 캐시를 지워 작업을 수행할 수 있습니다. 이 사이트에서는 Win10 캘린더 이벤트 알림이 표시되지 않는 문제에 대한 분석을 사용자에게 주의 깊게 소개합니다. 캘린더 이벤트를 추가하려면 시스템 메뉴에서 "캘린더" 프로그램을 클릭하세요. 달력의 날짜를 마우스 왼쪽 버튼으로 클릭하세요. 편집창에 이벤트 이름과 알림 시간을 입력하고 '저장' 버튼을 클릭하면 이벤트가 추가됩니다. win10 캘린더 이벤트 알림이 팝업되지 않는 문제 해결

Eclipse에 부트스트랩을 도입하는 방법 Eclipse에 부트스트랩을 도입하는 방법 Apr 05, 2024 am 02:30 AM

5단계로 Eclipse에 Bootstrap을 소개합니다. Bootstrap 파일을 다운로드하고 압축을 풉니다. Bootstrap 폴더를 프로젝트로 가져옵니다. 부트스트랩 종속성을 추가합니다. Bootstrap CSS 및 JS를 HTML 파일로 로드합니다. 사용자 인터페이스를 향상하려면 Bootstrap을 사용해 보세요.

Vue를 사용하여 팝업 창 효과를 구현하는 방법 Vue를 사용하여 팝업 창 효과를 구현하는 방법 Sep 22, 2023 am 09:40 AM

Vue를 사용하여 팝업 창 효과를 구현하려면 특정 코드 예제가 필요합니다. 최근 몇 년 동안 웹 애플리케이션이 개발되면서 팝업 창 효과는 개발자들 사이에서 일반적으로 사용되는 상호 작용 방법 중 하나가 되었습니다. 널리 사용되는 JavaScript 프레임워크인 Vue는 풍부한 기능과 사용 편의성을 제공하며 팝업 창 효과를 구현하는 데 매우 적합합니다. 이 기사에서는 Vue를 사용하여 팝업 창 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 Vue의 CLI 도구를 사용하여 새로운 Vue 프로젝트를 생성해야 합니다. 열린 결말

부트스트랩 매개 효과 테스트 결과를 Stata에서 읽는 방법 부트스트랩 매개 효과 테스트 결과를 Stata에서 읽는 방법 Apr 05, 2024 am 01:48 AM

Stata에서 부트스트랩 매개 효과 테스트의 해석 단계: 계수의 부호를 확인합니다. 매개 효과의 양수 또는 음수 방향을 결정합니다. 검정 p값: 0.05 미만이면 매개효과가 유의미하다는 것을 나타냅니다. 신뢰 구간을 확인하십시오. 0을 포함하지 않으면 중재 효과가 유의하다는 것을 나타냅니다. 중앙값 p-값 비교: 0.05 미만은 매개 효과의 중요성을 더욱 뒷받침합니다.

부트스트랩에 아이디어를 도입하는 방법 부트스트랩에 아이디어를 도입하는 방법 Apr 05, 2024 am 02:33 AM

IntelliJ IDEA에 Bootstrap을 도입하는 단계: 새 프로젝트를 만들고 "웹 애플리케이션"을 선택합니다. "부트스트랩" Maven 종속성을 추가합니다. HTML 파일을 만들고 Bootstrap 참조를 추가합니다. Bootstrap CSS 파일의 실제 경로로 바꾸십시오. Bootstrap 스타일을 사용하려면 HTML 파일을 실행하세요. 팁: CDN을 사용하여 Bootstrap을 가져오거나 HTML 파일 템플릿을 사용자 지정할 수 있습니다.

대형모델간 75만 라운드 1대1 대결, GPT-4가 우승, 라마3가 5위 대형모델간 75만 라운드 1대1 대결, GPT-4가 우승, 라마3가 5위 Apr 23, 2024 pm 03:28 PM

Llama3에 대해 새로운 테스트 결과가 공개되었습니다. 대형 모델 평가 커뮤니티 LMSYS가 공개한 대형 모델 순위 목록에서 Llama3는 5위에 올랐으며, 영어 부문에서는 GPT-4와 함께 공동 1위를 차지했습니다. 다른 벤치마크와는 그림이 다릅니다. 이 목록은 모델 간 1:1 대결을 기반으로 하며, 네트워크 전체의 평가자들이 각자의 제안과 점수를 내립니다. 결국 Llama3가 5위를 차지했고, GPT-4와 Claude3 Super Cup Opus의 세 가지 버전이 그 뒤를 이었습니다. 영어 싱글 목록에서는 Llama3가 Claude를 제치고 GPT-4와 동점을 기록했습니다. 이 결과에 대해 Meta의 수석 과학자 LeCun은 매우 기뻐했으며 트윗을 통해 다음과 같이 말했습니다.

부트스트랩을 사용하여 중재 효과를 테스트하는 방법 부트스트랩을 사용하여 중재 효과를 테스트하는 방법 Apr 05, 2024 am 03:57 AM

부트스트랩 검정은 리샘플링 기술을 사용하여 통계 검정의 신뢰성을 평가하고 매개 효과의 유의성을 입증하는 데 사용됩니다. 먼저 직접 효과, 간접 효과 및 매개 효과의 신뢰 구간을 계산하고 두 번째로 유의성을 계산합니다. Baron and Kenny 또는 Sobel 방법에 따라 매개 유형을 결정하고 최종적으로 자연 간접 효과에 대한 신뢰 구간을 추정합니다.

부트스트랩 조정 테스트 결과를 읽는 방법 부트스트랩 조정 테스트 결과를 읽는 방법 Apr 05, 2024 am 03:30 AM

부트스트랩 매개 검정은 데이터를 여러 번 리샘플링하여 매개 효과를 평가합니다. 간접 효과 신뢰 구간: 매개 효과의 추정 범위를 나타냅니다. 구간에 0이 포함되지 않으면 효과가 유의합니다. p-값: 신뢰 구간에 0이 포함되지 않을 확률을 평가하며, 0.05 미만의 값은 유의함을 나타냅니다. 샘플 크기: 분석에 사용된 데이터 샘플 수입니다. 부트스트랩 서브샘플링 시간: 반복 샘플링 횟수(500-2000회)입니다. 신뢰 구간에 0이 포함되지 않고 p-값이 0.05보다 작은 경우 매개 효과가 유의하며 이는 매개 변수가 독립 변수와 종속 변수 간의 관계를 설명한다는 것을 나타냅니다.

See all articles