집 >
웹 프론트엔드 >
JS 튜토리얼 >
HTML 페이지는 중앙에 드래그 가능한 사용자 정의 창을 표시합니다.
HTML 페이지는 중앙에 드래그 가능한 사용자 정의 창을 표시합니다.
WBOY
풀어 주다: 2016-05-16 16:49:35
원래의
1317명이 탐색했습니다.
DIV 팝업 창을 사용하여 콘텐츠를 동적으로 표시하는 원리: 먼저 CSS와 HTML을 사용하여 팝업 창의 콘텐츠를 숨긴 다음 JavaScript(이 자습서에서는 JQuery)를 사용하여 동적으로 표시합니다. 이 효과는 제한된 레이아웃 공간을 최대한 활용할 수 있을 뿐만 아니라 사용자 경험을 향상시킬 수 있습니다. 더 중요한 것은 SEO 효과에 영향을 미치지 않는다는 것입니다(실제로 페이지에 존재하지만 처음에는 보이지 않기 때문입니다)
여기서 주목해야 할 점은 div 스타일의 정의를 중앙에 표시해야 하기 때문에 절대 위치 지정을 사용합니다. :absolute; 둘째, 팝업 레이어이기 때문에 div는 Peripheral 끝에 있어야 하므로 z-index는 일반적으로 매우 크게 설정됩니다. div 자체는 숨겨져 있고 display:none으로 설정해야 하지만 여기서는 효과를 직접 확인해야 하므로 display:block
을 사용하여 직접 표시하도록 합니다. 3. 표시하려면 중앙에 배치해야 합니다. , 따라서 먼저 브라우저의 높이와 너비를 가져와야 합니다. 스크롤 막대의 가로 또는 세로 오프셋이 있는 경우 div의 브라우저 위치를 얻기 위해 길이도 계산해야 합니다.
$(document).ready(function() { jQuery.fn.extend({ / /드래그 앤 드롭 함수 drag:function(){ var $tar = $(this) return $(this).mousedown(function(e){ if(e.target .tagName == "H2"){ var diffX = e.clientX - $tar.offset().left var diffY = e.clientY - $tar.offset().top $(document) .mousemove(function(e){ var left = e.clientX - diffX; var top = e.clientY - diffY; if (left < 0){ left = 0; } else if (left <= $(window).scrollLeft()){ left = $(window).scrollLeft() } else if (left > ; $(window).width() $(window).scrollLeft() - $tar.width()){ left = $(window).width() $(window).scrollLeft( ) -$tar .width(); } if (top < 0){ top = 0 } else if (top <= $(window). scrollTop()) { top = $(window).scrollTop(); } else if (top > $(window).height() $(window).scrollTop() - $ tar.height( )){ top = $(window).height() $(window).scrollTop() - $tar.height() } $tar.css("left ",left ' px').css("top",top 'px'); }); } $(document).mouseup(function(){ $(this ).unbind("mousemove"); $(this).unbind("mouseup") }) } }); >});
여기에서는 클릭하고 드래그할 수 있는 div 콘텐츠의 H2 요소에만 중점을 둡니다. 전역 div가 필요한 경우 드래그 앤 드롭 원칙을 수정할 수 있습니다. 지정된 요소에서 마우스를 누르면 마우스 포인트의 좌표가 계산되어 해당 위치로 그림이 이동됩니다. 마우스 클릭이 취소되면 해당 누르기 이벤트도 취소되고 페이지는 그대로 유지됩니다.