葬花词 诗歌滚动条 案例

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
/*
----------KISSY CSS Reset----------
KISSY CSS Reset
理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
*/
/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td /* table elements 表格元素 */ {
margin: 0;
padding: 0;
}

/** 设置默认字体 **/
body,
button, input, select, textarea /* for ie */ {
font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */

/** 重置列表元素 **/
ul, ol { list-style: none; }

/** 重置文本格式元素 **/
a { text-decoration: none; }
a:hover { text-decoration: underline; }

sup { vertical-align: text-top; } /* 重置,减少对行高的影响 */
sub { vertical-align: text-bottom; }

/** 重置表单元素 **/
legend { color: #000; } /* for ie6 */
fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
/* 注:optgroup 无法扶正 */

/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }

.scroll-box{
float: left;
margin-right: 40px;
margin-top: 40px;
}

.scroll-box{
position: relative;
font-size: 18px;
color:#000;
line-height: 1.6;
width: 500px;
height: 400px;
border: 2px solid #FCC;
background-color:#FCC ;
padding: 30px 60px 0 30px;
}
.scroll-panel{
position: relative;
height: 340px;
overflow: hidden;
}
.scroll-content{
position: relative;
}
.scroll-bar{
position: absolute;
top: 2px;
right: -156px;
width: 20px;
height: 360px;
background-color:#FFC;
}
.scroll-block{
position: absolute;
top:4px;
right: -4px;
width: 28px;
height:16px;
background-color:#CFF;
cursor: pointer;
}

</style>

</head>

<body>
<div class="scroll-box scroll-box-1">
<div class="scroll-panel" id="scrollpanel">
<div class="scroll-content" id="scrollcontent">
<h2>start.</h2>
<pre>
<p>《葬花词》</p>
<p><br>
花谢花飞飞满天,<br>
红消香断有谁怜。<br>
游丝软细飘春榭,<br>
落絮轻粘扑绣窗。</p>
<p><br>

闺中女儿惜春暮, <br>
愁绪满怀无著处。<br>
手把花锄出绣窗,<br>
忍踏落花来复去。<br>
柳丝榆荚自芳菲,<br>
哪管桃飘与李飞。<br>
桃李明年能再发,<br>
明年闺中知有谁。<br>
三月香巢初垒成, <br>
梁间燕子太无情。<br>
明年花发虽可啄,<br>
却不道人去梁空巢已倾。</p>
<p><br>
一年三百六十日,<br>
风刀霜剑严相逼。<br>
明媚鲜妍能几时,<br>
一朝漂泊难寻觅。<br>
花开易见落难寻,<br>
阶前愁煞葬花人。<br>
独把花锄偷洒泪,<br>
洒上空枝见血痕。<br>
杜鹃无语正黄昏,<br>
荷锄归去掩重门。</p>
<p><br>
青灯照壁人初睡,<br>
冷雨敲窗被未温。<br>
怪侬底事倍伤神,<br>
半为怜春半恼春。 <br>
怜春忽至恼忽去,<br>
至又无言去不闻。<br>
昨宵亭外悲歌发,<br>
知是花魂与鸟魂。 <br>
花魂鸟魂总难留,<br>
鸟自无言花自羞。</p>
<p><br>
愿侬此日生双翼,<br>
随花飞到天尽头。<br>
天尽头,何处有香丘。<br>
未若锦囊收其骨, <br>
一坯净土掩风流。 <br>
质本洁来还洁去, <br>
不教污淖陷渠沟。 <br>
尔今死去侬收葬,<br>
未卜侬身何日丧。</p>
<p><br>

侬今葬花人笑痴, <br>
他年葬侬知是谁。 <br>
试看春残花渐落, <br>
便是红颜老死时。 <br>
一朝春尽红颜老, <br>
花落人亡两不知。<br>
</pre>
<h2>end.</h2>
</div>
</div>
<div class="scroll-bar" id="scrollbar">
<div class="scroll-block" id="scrollblock"></div>
</div>
</div>
<script type="text/javascript" >
// enclose(document.getElementById(‘content‘),400,200,-200,-300);

function enclose(frame,content,bar,block,bdistance,cdistance,minutop){

var isMacWebkit=(navigator.userAgent.indexOf(‘Macintosh‘)!==-1&&
navigator.userAgent.indexOf(‘WebKit‘)!==-1);
var isFirefox=(navigator.userAgent.indexOf(‘Gecko‘)!==-1);

var contentX=content.offsetLeft,
contentY=content.offsetTop,
framewidth=frame.offsetWidth,
frameheight=frame.offsetHeight;

frame.onwheel=wheelHandler; //未来浏览器
frame.onmousewheel=wheelHandler; //大多数当前浏览器

if(isFirefox){ //仅firefox
frame.addEventListener(‘DOMMouseScroll‘,wheelHandler,false);
}

function wheelHandler(event){
var e=event||window.event;

var deltaX=e.deltaX*-30||
e.wheelDeltaX/4||
0;
var deltaY=e.deltaY*-30||
e.wheelDeltaY/4||
(e.wheelDeltaY===undefined&&
e.wheelDelta/4)||
e.detail*-10||
0;

if(isMacWebkit){
deltaX/=30;
deltaY/=30;
}

if(isFirefox&&e.type!==‘DOMMouseScroll‘){
frame.removeEventListener(‘DOMMouseScroll‘,wheelHandler,false);
}

var contentbox=content.getBoundingClientRect(),
contentwidth=contentbox.right-contentbox.left,
contentheight=contentbox.bottom-contentbox.top;

if(e.altKey){
if(deltaX){
framewidth-=deltaX;
framewidth=Math.min(framewidth,contentwidth);
framewidth=Math.max(framewidth,50);
frame.style.width=framewidth+‘px‘;
}
if(deltaY){
frameheight-=deltaY;
frameheight=Math.min(frameheight,contentheight);
frameheight=Math.max(frameheight,50);
frame.style.height=frameheight+‘px‘;
}
}else{
if(deltaX){
contentX=content.offsetLeft;
var minoffset=Math.min(framewidth-contentwidth,0);
contentX=Math.max(contentX+deltaX,minoffset);
contentX=Math.min(contentX,0);
content.style.left=contentX+‘px‘;
}
if(deltaY){
contentY=content.offsetTop;
var minoffset=Math.min(frameheight-contentheight,0);
contentY=Math.max(contentY+deltaY,minoffset);
contentY=Math.min(contentY,0);
content.style.top=contentY+‘px‘;
block.style.top=(-contentY/cdistance*bdistance+minutop)+‘px‘;
}

}

if(e.preventDefault){
e.preventDefault();
}
if(e.stopPropagation){
e.stopPropagation();
}
e.cancelBubble=true;
e.returnValue=false;
return false;
}
}
</script>
<script type="text/javascript">
var scroll=(function(){

var scrollblock, //滚动块
scrollcontent, //被滚动的内容
scrollbar, //滚动条
scrollpanel, //滚动内容的滚动区域
cdistance, //滚动内容要滚动的距离
bdistance, //滚动块要滚动的距离
minuTop, //滚动条头尾剩下的空白
cTop, //滚动内容的top
startY=0, //滚动动作开始初鼠标的位置
bTop=0; //滚动动作开始初滚动块的top

function mouseDown(event){
event=event||window.event;
startY=event.clientY;
bTop=scrollblock.offsetTop;
cTop=scrollcontent.offsetTop;
// if(scrollblock.setCapture){

// scrollblock.onmousemove=doDrag;
// scrollblock.onmouseup=stopDrag;
// scrollblock.setCapture();
// }else{
// document.addEventListener("mousemove",doDrag,true);
// document.addEventListener("mouseup",stopDrag,true);
// }
document.onmousemove=function(){
doDrag();
}
document.onmouseup=function(){
stopDrag();
}
document.getElementsByTagName(‘body‘)[0].onselectstart=function(){
return false;
}

}

function doDrag(event){
event=event||window.event;

var newbTop=event.clientY-startY+bTop,
newcTop=cTop-(event.clientY-startY)/bdistance*cdistance;

if(newbTop<minuTop){
newbTop=minuTop;
newcTop=0;
}else if(newbTop>bdistance+minuTop){
newcTop=-cdistance;
newbTop=bdistance+minuTop;
}
scrollblock.style.top=newbTop+‘px‘;
scrollcontent.style.top=newcTop+‘px‘;

}

function stopDrag(event){
// if(scrollblock.releaseCapture){
// // scrollblock.onmousemove=doDrag;
// // scrollblock.onmouseup=stopDrag;
// scrollblock.releaseCapture();
// }else{
// document.removeEventListener("mousemove",doDrag,true);
// document.removeEventListener("mouseup",stopDrag,true);
// }
document.onmousemove=null;
document.onmouseup=null;

document.getElementsByTagName(‘body‘)[0].onselectstart=function(){
return true;
};
}

return{
init:function(scrollpanel_id,scrollcontent_id,scrollbar_id,scrollblock_id){
scrollblock=document.getElementById(scrollblock_id);
scrollcontent=document.getElementById(scrollcontent_id);
scrollbar=document.getElementById(scrollbar_id);
scrollpanel=document.getElementById(scrollpanel_id);
minuTop=scrollblock.offsetTop;
cdistance=scrollcontent.offsetHeight-scrollpanel.offsetHeight;
bdistance=scrollbar.offsetHeight-minuTop*2-scrollblock.offsetHeight;

scrollblock.onmousedown=mouseDown;
enclose(scrollpanel,scrollcontent,scrollbar,scrollblock,bdistance,cdistance,minuTop);
}
}

}());

scroll.init(‘scrollpanel‘,‘scrollcontent‘,‘scrollbar‘,‘scrollblock‘);

</script>
</body>
</html>

时间: 2024-10-12 15:35:50

葬花词 诗歌滚动条 案例的相关文章

JavaScript滚动条案例

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> * { margin: 0; padding: 0; } .box { width: 300px; height: 500px; border: 1px solid red; margin: 100px; pos

(升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课程会涵盖Scala编程详解.Spark核心编程.Spark SQL和Spark Streaming.Spark内核以及源码剖析.性能调优.企业级案例实战等部分.完全从零起步,让学员可以一站式精通Spark企业级大数据开发,提升自己的职场竞争力,实现更好的升职或者跳槽,或者从j2ee等传统软件开发工程

诗歌滚动自编 不带鼠标滚动

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

水平拖拽滚动条

[教学视频]网页特效_水平拖拽滚动条案例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>由于8的不适用复杂嵌套的盒子,如果父盒子太多且都定位的话,8不在适用,不利于后期封装</title> <style> *{margin:0;padding:0;} .line { width: 400p

用python给女朋友做一个歌曲词云图

目录 一 什么是词云 二 制作词云的步骤 4 科比词云图制作测试代码1 -- coding:utf-8 - 生成词云 三 案例 网易云歌手房东的猫词云图 1 整体流程图 2 爬取+词云制作 今天咋们来看看网易云赵雷的歌曲歌词,并做一个词云图.这篇文章可以学习到什么是词云,爬虫的基本流程,简单的可视化操作 @ 一 什么是词云 可视化有很多种,好的数据可视化,可以使得数据分析的结果更加通俗易通."词云"属于可视化的一种,它会根据关键词的出现频率生成一幅图,这样可以让我们一眼就知道其主要要点

js-特效部分学习-拖拽效果

一.客户区大小ClientWidth和ClientHeight <style> #box { width: 200px; height: 200px; background-color: aquamarine; margin: 20px; border: 20px solid red; padding:20px; } </style> </head> <body> <div id="box"> </div> <

哀其不幸,怒其不争!

对于内心的细腻,我向来认为那是女子独特的情怀.诚然,这并不错,但是在一个名为<红楼梦>的世界,却把我的心性与细腻息息相关起来,或感叹,或哀怨,或凝重,或忧郁--心仿若添了悲的翅愁的翼,一任翱翔. 也许"哀其不幸"是人们对于林黛玉这位才貌双全的"世外仙妹","潇湘妃子"最初的认识.因父母早亡,寄居贾府,"漂泊亦如人命薄",一个寄人篱下的女子,孤苦伶仃,多愁善感.环境的龌龊势利,使她"自矜自重,小心戒备&qu

四大名著文学常识100题,考验你的时候到了!(附答案)

作为中国人,你对它们了解多少呢?下面诗词君就来考考你,1题1分,共90分,看你能得多少分吧~ 水浒传部分 1.<水浒传>的作者是_________,该书描写了北宋徽宗时,以_________为首的名好汉在聚义,打家劫舍,杀富济贫的豪举.它是我国第一部_________. 2.<水浒传>共有_________将,天罡共_________人,地煞星共_________人. 3.<水浒传>中从最初占据水泊梁山到梁山好汉聚齐一百零八位直至被朝廷招安,梁山寨主先后共有______

凉鞋北正

自传105.在张家界学院工作六13----凉鞋北正   二零零七年六月七日我写<封面订书器(七古)>两人署名:巳时给君打手机,片刻打来回信息.汝现正在干什么,在屋收拾余东西.余把雨伞丢失了,汝那有吗没有啊.昨天照像丢的吗,记得照像没带着.余们宿舍丢两把,同学想要留念吧.伊们男生不能来,女生也可自己拿.  同学知道封面吗,开题手写谣言吧.余听消息告诉汝,余下午去好来吧. 论文成绩知道吗,成绩规定保密的.所有师生互不知,自己去查自己的.下午余就去汝那,余等着汝汝来吧.好了余去吃点饭,拜拜汝就休息吧