效果图:
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 购物车 title>
< script src = " gg.js" > script>
< style>
table {
width : 50%;
position : relative;
margin : 30px auto;
border-collapse : collapse;
border : 1px solid gray;
}
th {
background : cornflowerblue;
height : 2.5em;
}
.tdone {
width : 10%;
}
.tdtwo {
width : 20%;
}
.tdthree {
width : 20%;
}
.tdfour {
width : 20%;
}
.tdfive {
width : 20%;
}
.tdsix {
width : 10%;
}
td {
height : 2em;
text-align : center;
border : 1px solid #ccc;
}
.num {
display : inline-block;
width : 3em;
}
input {
height : 2em;
}
.talast {
text-align : left;
}
style>
head>
< body>
< table>
< thead>
< tr>
< th class = " tdone" > 序号 th>
< th class = " tdtwo" > 商品名称 th>
< th class = " tdthree" > 数量 th>
< th class = " tdfour" > 单价 th>
< th class = " tdfive" > 小计 th>
< th class = " tdsix" > 操作 th>
tr>
thead>
< tbody>
< tr class = " trclass" >
< td class = " tdone xuhao" > 1 td>
< td class = " tdtwo " > 烤煎饼 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 2 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr class = " trclass" >
< td class = " tdone xuhao" > 2 td>
< td class = " tdtwo" > 珍珠奶茶 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 3.5 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr class = " trclass" >
< td class = " tdone xuhao" > 3 td>
< td class = " tdtwo" > 羊肉串 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 1.5 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr>
< td class = " tdone xuhao" > 4 td>
< td class = " tdtwo" > 牛肉 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 10 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr class = " trclass" >
< td class = " tdone xuhao" > 5 td>
< td class = " tdtwo" > 烧刀子 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 1.8 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr class = " trclass" >
< td class = " tdone xuhao" > 6 td>
< td class = " tdtwo" > 水煮鱼 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 15 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr class = " trclass" >
< td class = " tdone xuhao" > 7 td>
< td class = " tdtwo" > 花生米 td>
< td class = " tdthree" > < span class = " jiajie" > < input type = " button" value = " -" > < span class = " num" > 0 span> < input type = " button" value = " +" > span> td>
< td class = " tdfour" > < span> 单价: span> < span class = " unit" > 3 span> td>
< td class = " tdfive" > < span> 小计: span> < span class = " subtal" > 0 span> td>
< td class = " tdsix" > < button class = " del" > 删除 button> td>
tr>
< tr> < span> 商品一共 < span class = " goods_num" > 0 span> 件; 共计花费 < span class = " pricetal" > 0 span> 元; 其中最贵的商品单价是 < span class = " pricest" > 0 span> 元 span> td> tr>
tbody>
table>
body>
html>
js
window. onload = function ( ) {
function cart ( ) {
this . abtn = document. querySelectorAll ( 'input' ) ;
this . ogood_num = document. querySelector ( '.goods_num' ) ;
this . opricetal = document. querySelector ( '.pricetal' ) ;
this . opricest = document. querySelector ( '.pricest' ) ;
this . totalnum = 0 ;
} ;
cart. prototype. getsubtotal = function ( goodsnum, unitprice) {
return parseInt ( goodsnum) * parseFloat ( unitprice) ;
} ;
cart. prototype. gettotal = function ( ) {
var asubtotal = document. querySelectorAll ( '.subtal' ) ;
var res = 0 ;
for ( var i= 0 , len= asubtotal. length; i< len; i++ ) {
res += parseFloat ( asubtotal[ i] . innerHTML) ;
} ;
return res;
} ;
cart. prototype. compareMaxunit = function ( ) {
var anum = document. querySelectorAll ( '.num' ) ;
var aunit = document. querySelectorAll ( '.unit' ) ;
var temp = 0 ;
for ( var i= 0 , len= anum. length; i< len; i++ ) {
if ( anum[ i] . innerHTML!= 0 ) {
if ( temp< parseFloat ( aunit[ i] . innerHTML) ) {
temp = parseFloat ( aunit[ i] . innerHTML) ;
}
}
} ;
return temp;
} ;
cart. prototype. update = function ( ) {
this . ogood_num. innerHTML = this . getNumbertal ( ) ;
this . opricetal. innerHTML = this . gettotal ( ) ;
this . opricest. innerHTML = this . compareMaxunit ( ) ;
this . xuhaosort ( ) ;
}
cart. prototype. plus = function ( obtn) {
var onum = obtn. parentNode. querySelector ( '.num' ) ;
var n = parseInt ( onum. innerHTML) ;
onum. innerHTML = ++ n ;
this . totalnum++ ;
var oUnit = obtn. parentNode. parentNode. parentNode. querySelector ( '.unit' ) ;
var osubtotal = obtn. parentNode. parentNode. parentNode. querySelector ( '.subtal' ) ;
osubtotal. innerHTML = this . getsubtotal ( onum. innerHTML, oUnit. innerHTML) ;
this . ogood_num. innerHTML = this . totalnum;
this . opricetal. innerHTML = this . gettotal ( ) ;
this . opricest. innerHTML = this . compareMaxunit ( ) ;
} ;
cart. prototype. minus = function ( obtn) {
var onum = obtn. parentNode. querySelector ( '.num' ) ;
if ( parseInt ( onum. innerHTML) > 0 ) {
var n = parseInt ( onum. innerHTML) ;
onum. innerHTML = -- n ;
this . totalnum-- ;
var oUnit = obtn. parentNode. parentNode. parentNode. querySelector ( '.unit' ) ;
var osubtotal = obtn. parentNode. parentNode. parentNode. querySelector ( '.subtal' ) ;
osubtotal. innerHTML = this . getsubtotal ( onum. innerHTML, oUnit. innerHTML) ;
this . ogood_num. innerHTML = this . totalnum;
this . opricetal. innerHTML = this . gettotal ( ) ;
this . opricest. innerHTML = this . compareMaxunit ( ) ;
}
} ;
cart. prototype. getNumbertal = function ( ) {
var anum = document. querySelectorAll ( '.num' ) ;
var res_num = 0 ;
for ( var i = 0 ; i< anum. length; i++ ) {
res_num += parseInt ( anum[ i] . innerHTML ) ;
}
return res_num ;
}
cart. prototype. del = function ( obtn) {
var odel = obtn. parentNode. parentNode;
var oparent = odel. parentNode;
oparent. removeChild ( odel) ;
this . ogood_num. innerHTML = this . getNumbertal ( ) ;
this . opricetal. innerHTML = this . gettotal ( ) ;
this . opricest. innerHTML = this . compareMaxunit ( ) ;
this . xuhaosort ( ) ;
}
cart. prototype. xuhaosort = function ( ) {
var axuhao = document. querySelectorAll ( '.xuhao' ) ;
for ( var i= 0 , len= axuhao. length; i< len; i++ ) {
axuhao[ i] . innerHTML = i+ 1 ;
}
}
cart. prototype. bind = function ( ) {
var that = this ;
for ( var i= 0 ; i< this . abtn. length; i++ ) {
if ( i% 2 != 0 ) {
this . abtn[ i] . onclick = function ( ) {
that. plus ( this ) ;
}
} else {
this . abtn[ i] . onclick = function ( ) {
that. minus ( this ) ;
}
}
} ;
var delbtn = document. querySelectorAll ( '.del' ) ;
for ( var i= 0 ; i< delbtn. length; i++ ) {
delbtn[ i] . onclick = function ( ) {
that. del ( this ) ;
}
}
} ;
var oCart = new cart ( ) ;
oCart. bind ( ) ;
oCart. update ( )
}
你可能感兴趣的:(css,购物车,模板,样式)
揭秘 CSS Houdini:用浏览器魔法解锁 CSS 的终极潜力
寒鸦xxx
css houdini 前端
一、为什么我们需要CSSHoudini?1.1传统CSS的困境当我们试图用CSS实现一个波浪形边框时,通常会经历这样的挣扎:/*传统实现方案*/.wave-border{position:relative;overflow:hidden;}.wave-border::after{content:'';position:absolute;/*需要复杂计算和多个伪元素拼接*/}这种实现方式存在三个致命
Python+Playwright常用元素定位方法
HAMYHF
python 功能测试
CSSselector选择器在CSS中,定位元素主要通过选择器完成,以下是几种常见的CSS选择器定位方法:标签选择器(element):直接使用HTML元素名称来定位,例如p会选择所有段落元素。属性选择器(attribute):选择所有具有指定属性的元素,无论该属性的值是什么。例如,[title]会选择所有包含title属性的元素。选择具有指定属性,并且该属性值完全等于给定值的元素。例如,[typ
壁纸样机神器:快速生成个性化壁纸,提升你的设备颜值
2401_89910411
人工智能
在数字化时代,壁纸不仅是设备的装饰,更是个人风格的展示。想要快速制作出精美的壁纸吗?壁纸样机神器来帮你!这款工具集多种功能于一身,让你轻松成为壁纸设计师。一、功能亮点1.一键生成高清壁纸壁纸样机神器支持多种图片格式的上传,无论是你从网上下载的图片,还是自己拍摄的照片,都可以轻松导入。上传后,系统会自动适配高清分辨率,确保壁纸在任何设备上都能完美展示。2.智能模板库平台提供了丰富的模板选择,涵盖从极
JavaScript网页设计案例:打造交互式个人简历网站
程序媛小果
前端 javascript 开发语言 ecmascript
在当今数字化时代,个人简历不再局限于纸质文档,而是越来越多地以网页形式呈现。JavaScript作为一种强大的客户端脚本语言,为网页设计提供了无限可能,使得网页不仅仅是静态的信息展示,而是具有丰富交互性的平台。本文将通过一个案例,展示如何使用HTML、CSS和JavaScript来设计一个交互式的个人简历网站。1.项目概述本案例的目标是创建一个个人简历网站,它不仅展示个人信息、工作经历、教育背景和
如何安装Hadoop
薇晶晶
hadoop 大数据 分布式
Hadoop入门(一)——CentOS7下载+VM上安装(手动分区)Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS静态IP设置Hadoop入门(三)——XSHELL7远程访问工具+XFTP7文件传输Hadoop入门(四)——模板虚拟机环境准备Hadoop入门(五)——Hadoop集群搭建-克隆三台虚拟机Hadoop入门(六)——JDK安装Hado
CSS 滚动条样式修改(详细)
mr_cmx
css css3 html
1、滚动条整体部分使用::-webkit-scrollbar示例:.container::-webkit-scrollbar{width:20px;//修改滚动条宽度}2、滚动条中的滑块使用::-webkit-scrollbar-thumb示例:.container::-webkit-scrollbar-thumb{border-radius:8px;box-shadow:inset005pxrg
2025年全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
白帽安全-黑客4148
安全 web安全 网络 网络安全 CTF
目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15天)4.3、后期五、CTF学习资源5.1、CTF赛题复现平台5.
2025年全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
白帽安全-黑客4148
网络安全 web安全 linux 密码学 CTF
目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15天)4.3、后期五、CTF学习资源5.1、CTF赛题复现平台5.
dreamweaver html语言,Dreamweaver网页设计与制作(HTML+CSS+JavaScript)
weixin_39979245
dreamweaver html语言
Dreamweaver网页设计与制作(HTML+CSS+JavaScript)编辑锁定讨论上传视频本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!《Dreamweaver网页设计与制作(HTML+CSS+JavaScript)》是2014年清华大学出版社出版的图书。Dreamweaver网页设计与制作(HTML+CSS+JavaScript)图书详细信息编辑ISBN:978
html 5中css的含义,HTML 5+CSS+JavaScript网页设计与制作
律保阁-Michael
html 5中css的含义
HTML5+CSS+JavaScript网页设计与制作编辑锁定讨论上传视频《HTML5+CSS+JavaScript网页设计与制作》是2019年4月清华大学出版社出版的图书,作者是彭进香、张茂红、王玉娟、叶娟、孙秀娟、万幸、刘英。书名HTML5+CSS+JavaScript网页设计与制作作者彭进香张茂红王玉娟叶娟作者孙秀娟展开作者孙秀娟万幸刘英收起出版社清华大学出版社出版时间2019年4月定价48
html+css+javascript实用详解,HTML+CSS+JavaScript 课程标准
vvv666s
②学会运用HTML语言中的标记设置颜色、文本格式和列表;熟练掌握颜色值的配置和背景图案的设置方法,熟练掌握字符、链接颜色的设置方法;③掌握在网页中添加CSS、嵌入图像、声音、多媒体信息的方法;④熟练掌握表格的使用方法,学会利用表格设布局网页;掌握框架制作网页的方法,会使用框架设计网页;掌握制作表单的方法,会利用表单建立交互式页面;⑤掌握JavaScript语言的语法;⑥掌握在HTML语言代码中嵌入
前端性能优化——如何提高页面加载速度?
忘川...
前端 性能优化 html
1.将样式表放在头部首先说明一下,将样式表放在头部对于实际页面加载的时间并不能造成太大影响,但是这会减少页面首屏出现的时间,使页面内容逐步呈现,改善用户体验,防止“白屏”。我们总是希望页面能够尽快显示内容,为用户提供可视化的回馈,这对网速慢的用户来说是很重要的。将样式表放在文档底部会阻止浏览器中的内容逐步出现。为了避免当样式变化时重绘页面元素,浏览器会阻塞内容逐步呈现,造成“白屏”。这源自浏览器的
前端开发入门指南:HTML、CSS和JavaScript基础知识
方向感超强的
javascript css html 前端
引言:大家好,我是一名简单的前端开发爱好者,对于网页设计和用户体验的追求让我深深着迷。在本篇文章中,我将带领大家探索前端开发的基础知识,涵盖HTML、CSS和JavaScript。如果你对这个领域感兴趣,或者想要了解如何开始学习前端开发,那么这篇文章将为你提供一个良好的起点。1.前端开发概述在我们深入了解前端开发的细节之前,让我们先了解一下前端开发的定义和作用。简而言之,前端开发涉及构建用户直接与
网页中加载 SVG 的七大方式
前端熊猫
Svg javascript html svg vue
一、直接使用标签加载外部SVG文件优点:简单易用:与加载其他图片格式(如PNG、JPEG)相同。浏览器支持良好:现代浏览器普遍支持。可缓存:SVG文件可以被浏览器缓存,减少重复请求。缺点:无法直接操作SVG内部元素:如果需要对SVG内部的元素进行交互或样式修改,这种方法不适用。适用场景:静态图像展示:仅需要展示SVG图像,不需要与之交互。二、将SVG作为CSS背景图片.icon{width:100
jQuery UI CSS 框架 API
lly202406
开发语言
jQueryUICSS框架API概述jQueryUI是一个基于jQuery的用户界面和交互库,它提供了一套丰富的交互组件和视觉效果,旨在帮助开发者快速构建具有吸引力和互动性的网页应用。jQueryUICSS框架API是jQueryUI的一部分,它允许开发者通过简单的CSS类来控制UI组件的样式和外观。本文将详细介绍jQueryUICSS框架API的使用方法、常用类和功能,帮助开发者更好地利用这一工
scoped作用原理及样式穿透的应用
太阳与星辰
Vue2 前端 面试 前端 vue 面试
scoped作用原理及样式穿透的应用(1)scoped作用原理(2)对第三条的详细解释(3)场景----微调第三方库样式(4)样式穿透(5)补充(1)scoped作用原理scoped是Vue样式作用域的一个特性,相信很多人经常在项目中用它来避免样式污染(即样式隔离)。当我们在一个组件中给style标签加上scoped时候,它会遵循以下三个规则,如下为组件实例生成一个唯一标识(可以称为文件指纹),给
部署前端项目2
augenstern416
前端
前端项目的部署是将开发完成的前端代码发布到服务器或云平台,使其能够通过互联网访问。以下是前端项目部署的常见步骤和工具:1.准备工作在部署之前,确保项目已经完成以下步骤:代码优化:压缩JavaScript、CSS和图片文件,减少文件体积。环境配置:区分开发环境和生产环境(如API地址、环境变量等)。测试:确保项目在本地测试通过,没有明显Bug。2.部署流程1.构建项目大多数前端项目(如React、V
CSS属性
augenstern416
CSS css 前端
1.CSS定位方式initial:设置该属性为浏览器默认值inherit:规定应该从父元素继承position属性的值。static:默认值。没有定位,元素出现在正常的流中(忽略top,bottom,left,right或者z-index声明)。relative:生成相对定位的元素,相对于其正常位置进行定位。因此,“left:20”会向元素的LEFT位置添加20像素。absolute:生成绝对定位
【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
网安詹姆斯
web安全 CTF 网络安全大赛 python linux
【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、S
微信小程序之自定义轮播图实例 —— 微信小程序实战系列(3)
2401_84910072
程序员 微信小程序 小程序
由于微信小程序,整个项目编译后的大小不能超过1M查看做轮播图功能的一张图片大小都已经有100+k了那么我们可以把图片放在服务器上,发送请求来获取。index.wxml:这里使用小程序提供的组件autoplay:自动播放interval:自动切换时间duration:滑动动画的时长current:当前所在的页面bindchange:current改变时会触发change事件由于组件提供的指示点样式比
前端基础入门:HTML、CSS 和 JavaScript
阿绵
前端 前端 html css js
在现代网页开发中,前端技术扮演着至关重要的角色。无论是个人网站、企业官网,还是复杂的Web应用程序,前端开发的基础技术HTML、CSS和JavaScript都是每个开发者必须掌握的核心技能。本文将详细介绍这三者的基本概念及其应用一、HTML——网页的骨架HTML(HyperTextMarkupLanguage)是构建网页的基础语言。它是网页的结构和内容的标记语言,决定了网页上的文本、图像、表单等元
网页制作03-html,css,javascript初认识のhtml的图像设置
Ama_tor
网页制作专栏 html css 前端
一、图像格式网页中图像的格式有三种,Gif,Jpeg,PngGif:Graphicinterchangeformat图像交换格式,文件最多可使用256种颜色,最适合显示色调不连续或具有大面积单一颜色的图像,例如导航条、按钮、图标、徽标或其他具有统一色彩和色调的图像;还可以制作动态图像Jpeg:Giantphotographicexpectgroup,它是一种图像压缩格式,可包含数百万种颜色,不支持
cmake linux模板 多目录_【转载】CMake 简介和 CMake 模板
weixin_39790738
cmake linux模板 多目录
如果你用Linux操作系统,使用cmake会简单很多,可以参考一个很好的教程:CMake入门实战|HaHack。如果你用Linux操作系统,而且只是运行一些小程序,可以看看我的另一篇博客:你就编译一个cpp,用CMake还不如用pkg-config呢。但如果你用Windows,很大的可能你会使用图形界面的CMake(cmake-gui.exe)和VisualStudio。本文先简单介绍使用CMak
MXTU MAX 苹果cmsv10模板 仿毒舌自适应主题/短视X体验版完全开源
希希分享
软希网58soho_cn 源码资源 仿毒舌自适应主题/
基于MxonePro二开的主题,全开源未加密。MXTUMAX仿毒舌苹果CMS影视自适应主题主题说明:1、将mxtheme目录放置根目录|将mxpro目录放置template文件夹中2、苹果cms后台-系统-网站参数配置-网站模板-选择mxpro模板目录填写html3、网站模板选择好之后一定要先访问前台,然后再进入后台设置4、主题后台地址:MXTUMAX图图主题,/admin.php/admin/m
【FastAPI 】FastAPI 模板:提供静态文件
iFakeCoder
Flask fastapi python 开发语言
FastAPI是一个现代、快速(高性能)的Web框架,用于基于标准Python类型提示使用Python3.7+构建API。虽然它的主要用例是构建API,但FastAPI还可以轻松提供静态文件和HTML模板,从而让您可以构建全栈Web应用程序。在此博客中,我们将探讨如何使用FastAPI提供静态文件。我们将介绍基础知识并提供演示以帮助您入门。为什么要提供静态文件?静态文件是不经常更改的资产,并按原样
8-项目实战-信用卡数字识别
#北极星star
Opencv图像处理框架实战 opencv 计算机视觉 人工智能
目录(1)总体流程与方法(2)代码实现(3)识别结果(1)总体流程与方法①读取模板图像:加载包含数字模板的图像,并提取每个数字的轮廓,将它们作为模板存储。②读取输入图像:加载待识别的信用卡图像,并进行预处理。③提取数字区域:通过一系列图像处理操作(如礼帽操作、梯度计算、闭操作等)提取可能包含数字的区域。④轮廓排序与筛选:找到提取区域的轮廓,并根据轮廓的宽高比和尺寸筛选出符合条件的数字区域。⑤数字识
设计模式-模板方法实现
阿绵
设计模式 java 开发语言
文章目录模式结构模式特点示例代码输出结果关键点解析模式的优缺点使用场景总结模板方法模式(TemplateMethodPattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,而将某些步骤的实现延迟到子类中。通过这种方式,模板方法模式可以让子类在不改变算法结构的情况下,重新定义算法中的某些步骤模式结构模板方法模式的结构包括以下几个关键部分:抽象类(AbstractClass):定义算法的骨
DeepSeek 助力 Vue 开发:打造丝滑的导航栏(Navbar)
宝码香车
# DeepSeek vue.js 前端 javascript ecmascript DeepSeek
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦目录DeepSeek助力Vue开发:打造丝滑的导航栏(Navbar)前言页面效果指令输入属性定义1.导航栏样式相关2.导航项相关3.响应式相关4.对齐方式相关事件定义1.导航项点击事件2.菜单折叠切换事件其他建议1.可访问性2.动画效果3.图标支
java中类似sort_java中的Sort函数,你值得看
weixin_39928844
java中类似sort
基于C语言中的sort如此这么方便,自然而然,java中也有类似C的sort函数。1.普通数组:Arrays.sort(数组名,开始位置,结束位置)。2.类中属性排序:模板:classA{intn;}classcmpimplementComparator{升序:publicintcompare(Aa,Ab){if(a.n
【拥抱AI】一文讲清楚MCP(Model Context Protocol)核心功能及应用
奔跑草-
人工智能 人工智能 LLM 自然语言处理 MCP Function call
什么是MCP(ModelContextProtocol)?MCP(ModelContextProtocol)是Anthropic推出的一个开放协议,旨在统一LLM应用与外部数据源和工具之间的通信协议,为AI开发提供了标准化的上下文交互方式。MCP的主要功能包括数据集成、工具集成、模板化交互、安全性、开发者支持、预构建服务器和上下文维护。它通过客户端-服务器架构,支持多个服务连接到任何兼容的客户端,
对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
[读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
PHP检测函数所在的文件名
IT独行者
PHP 函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
Python学习1(pip django 安装以及第一个project)
小桔子
python django pip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
php 数组
aichenglong
PHP 排序 数组 循环 多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
getElementsByName实例
bijian1013
element
实例1:
<!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/x
探索JUnit4扩展:Runner
bijian1013
java 单元测试 JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
[MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google 云计算 GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
hadoop 平衡空间设置方法
daizj
hadoop balancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
java 遍历Map的四种方法
eksliang
java HashMap java 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
自动补全
huyana_town
自动补全
<!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&quo
jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
ViewPager刷新单个页面的方法
lovelease
android viewpager tag 刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
Linux系统新手学习的11点建议
刘星宇
编程 工作 linux 脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAO Hibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul