Html 使这些单击函数在没有jQuery的情况下工作
我创建了一个带有子菜单的垂直菜单。每个菜单至少有3个子菜单,每个子菜单仅在单击菜单时打开。(对于此菜单,我需要Html 使这些单击函数在没有jQuery的情况下工作,html,css,fonts,Html,Css,Fonts,我创建了一个带有子菜单的垂直菜单。每个菜单至少有3个子菜单,每个子菜单仅在单击菜单时打开。(对于此菜单,我需要jQuery支持),但是,我没有在任何其他页面中使用jQuery,因此我跳过了链接jQuery。没有jQuery这就是它的外观:没有jQuery **如果编码器可以在没有jQuery欢迎的情况下完成这项工作,或者我如何使用CSS 下面是使用jQuery的 没有jQuery 作用 使用属性选择器,可以将默认的font size设置为20px,并覆盖特定元素: [class*="flatic
jQuery
支持),但是,我没有在任何其他页面中使用jQuery
,因此我跳过了链接jQuery
。没有jQuery
这就是它的外观:没有jQuery
**如果编码器可以在没有jQuery
欢迎的情况下完成这项工作,或者我如何使用CSS
下面是使用jQuery的
没有jQuery
作用
使用属性选择器,可以将默认的
font size
设置为20px
,并覆盖特定元素:
[class*="flaticon-"] {
font-size: 20px;
}
h4[class*="flaticon-"] {
font-size: 40px;
}
您应该像这样添加字体大小
.small-icon {
font-family:"Flaticon";
font-size: 20px;
line-height: 1;
}
.small-icon:before {
font-size: 20px;
margin-left: 0;
}
.big-icon {
font-family:"Flaticon";
font-size: 40px;
line-height: 1;
}
.big-icon:before {
font-size: 40px;
margin-left: 0;
}
对于html
<div class="center boxborder">
<ul class="social">
<li><a href="#"><span class="small-icon flaticon-facebook12" style="color: #3399ff;"></span></a>
</li>
<li> <a href="#"><span class="small-icon flaticon-social19" style="color:#33ccff;"></span></a>
</li>
<li> <a href="#"><span class="small-icon flaticon-google109" style="color: #ff3300;"></span></a>
</li>
<li><a href="#"><span class="small-icon flaticon-linkedin11" style="color: #21a6d8;"></span></a>
</li>
</ul>
</div>
-
-
-
-
实际上,尽管从技术上讲,您可以在CSS中实现这一点,但使用jQuery或vanilla JS代表了一个更好的解决方案,可以实现更强大的设置
它还确保您在内容(HTML)、样式(CSS)和功能(JS)之间保持正确和适当的分离
这就是说…你可以使用下面的(或类似的)CSS接近
HTML
我会提出一个没有jquery的解决方案。您应该向css中添加一些类,并将它们应用于html代码中适当的UL标记。下面是一个纯javascript(无jquery)的工作示例,这里的javascript源代码是:
function getXmlHttp(){
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (ee) {
}
}
if (typeof XMLHttpRequest!='undefined') {
return new XMLHttpRequest();
}
}
function hide(node){
node.style.display='none';
}
function func(e){
e.preventDefault();
var q = getXmlHttp();
var url = this.getAttribute('href');
q.open('GET', url , false);
q.send(null);
var result = 'File '+url+' not found.';
if(q.status == 200) {
result = q.responseText;
}
document.querySelector('.page').innerHTML = result;
document.querySelector('#leftmenu').style.width = '70px';
var items = document.querySelectorAll('li ul, #leftmenu b');
for (var i=0; i<items.length; i++) {
hide(items[i]);
}
this.removeEventListener('click',func(),false);
}
function slideUp(node){
node.setAttribute('class', "submenu hidden");
}
function slideDown(node){
node.setAttribute('class', "submenu visible");
}
function switchSubMenu(){
var ch = this.children;
for(var i=0; i<ch.length; i++) {
if (ch[i].nodeName == 'UL') {
var v = document.getElementsByClassName("visible");
if (v) {
for(var j=0; j<v.length; j++){
if(v[j] != ch[i]) {
slideUp(v[j]);
}
}
}
ch[i].getAttribute('class') == "submenu hidden" ? slideDown(ch[i]) : slideUp(ch[i]);
}
}
}
var sm = document.querySelectorAll('.submenu');
for(var i=0; i<sm.length; i++) {
slideUp(sm[i]);
sm[i].parentNode.addEventListener("click",switchSubMenu, false);
}
var links = document.querySelectorAll('.reveal');
for(var j=0; j<links.length; j++) {
links[j].addEventListener("click",func, false);
}
函数getXmlHttp(){
试一试{
返回新的ActiveXObject(“Msxml2.XMLHTTP”);
}捕获(e){
试一试{
返回新的ActiveXObject(“Microsoft.XMLHTTP”);
}捕获(ee){
}
}
if(XMLHttpRequest的类型!=“未定义”){
返回新的XMLHttpRequest();
}
}
函数隐藏(节点){
node.style.display='none';
}
函数func(e){
e、 预防默认值();
var q=getXmlHttp();
var url=this.getAttribute('href');
q、 打开('GET',url,false);
q、 发送(空);
var result='File'+url+'未找到';
如果(q.status==200){
结果=q.responseText;
}
document.querySelector('.page').innerHTML=result;
document.querySelector(“#leftmenu”).style.width='70px';
var items=document.queryselectoral('li ul,#leftmenu b');
对于(var i=0;我应该更改哪些内容查看JSFIDLE链接以了解详细信息。添加类“子菜单”、“隐藏”和“可见”。这就是我应该更改的全部内容或其他任何内容,因为我不会像在fiddlein css中那样输出添加类:
。子菜单{overflow-y:隐藏;-webkit转换:最大高度0.5s缓进-出;-moz转换:最大高度0.5s缓进-出;-o-转换:最大高度0.5s缓进-出;转换:最大高度.5s缓进-出;}。隐藏{max height:0;}。可见{max height:300px;}
和在html中:将每个
都更改为
.before
标签插入..
使用我之前编写的javascript代码我使用onload函数在同一页面中加载外部页面加载页面时,菜单大小的宽度将减小到10%
,但这不起作用,并且该函数在问题中提到
<div class='menuGroup'>
<label id='item1'>
<input type='radio' for='item1' name='menu1' />Item 1
<div class='menuGroup'>
<label id='subitem1'>
<input type='radio' for='subitem1' name='submenu1' />Item 1
<div class='menuGroup'>more menu levels...</div>
</label>
<label id='subitem2'>
<input type='radio' for='subitem2' name='submenu1' />Item 2
<div class='menuGroup'>more menu levels...</div>
</label>
</div>
</label>
<label id='item2'>
<input type='radio' for='item2' name='menu1' />Item 2
<div class='menuGroup'>
<label id='subitem3'>
<input type='radio' for='subitem4' name='submenu2' />Item 1
<div class='menuGroup'>more menu levels...</div>
</label>
<label id='subitem4'>
<input type='radio' for='subitem5' name='submenu2' />Item 2
<div class='menuGroup'>more menu levels...</div>
</label>
</div>
</label>
</div>
label {
display:block;
position:relative;
}
label:not(:last-child) {
border-bottom:1px solid grey;
}
input {
display:none;
}
input:checked+.menuGroup {
display:block;
width:200px;
left:100%;
top:-1px;
}
label .menuGroup {
display:none;
}
.menuGroup {
position:absolute;
border:1px solid grey;
}
function getXmlHttp(){
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (ee) {
}
}
if (typeof XMLHttpRequest!='undefined') {
return new XMLHttpRequest();
}
}
function hide(node){
node.style.display='none';
}
function func(e){
e.preventDefault();
var q = getXmlHttp();
var url = this.getAttribute('href');
q.open('GET', url , false);
q.send(null);
var result = 'File '+url+' not found.';
if(q.status == 200) {
result = q.responseText;
}
document.querySelector('.page').innerHTML = result;
document.querySelector('#leftmenu').style.width = '70px';
var items = document.querySelectorAll('li ul, #leftmenu b');
for (var i=0; i<items.length; i++) {
hide(items[i]);
}
this.removeEventListener('click',func(),false);
}
function slideUp(node){
node.setAttribute('class', "submenu hidden");
}
function slideDown(node){
node.setAttribute('class', "submenu visible");
}
function switchSubMenu(){
var ch = this.children;
for(var i=0; i<ch.length; i++) {
if (ch[i].nodeName == 'UL') {
var v = document.getElementsByClassName("visible");
if (v) {
for(var j=0; j<v.length; j++){
if(v[j] != ch[i]) {
slideUp(v[j]);
}
}
}
ch[i].getAttribute('class') == "submenu hidden" ? slideDown(ch[i]) : slideUp(ch[i]);
}
}
}
var sm = document.querySelectorAll('.submenu');
for(var i=0; i<sm.length; i++) {
slideUp(sm[i]);
sm[i].parentNode.addEventListener("click",switchSubMenu, false);
}
var links = document.querySelectorAll('.reveal');
for(var j=0; j<links.length; j++) {
links[j].addEventListener("click",func, false);
}