【问题标题】:How can I make this codepen work with multiple pages?如何使此 codepen 与多个页面一起使用?
【发布时间】:2017-03-29 22:52:39
【问题描述】:

我正在为我的所有按钮使用我在 codepen 上找到的页面转换效果。它适用于我的联系按钮,但是当我尝试创建其他页面时它不起作用。因此,如果我尝试为我的“关于”按钮创建一个页面,它将不起作用,它只会使用我的联系页面中的同一页面。所以基本上我的问题是如何使用这个 codepen 在每个按钮上创建具有不同内容的多个按钮。

这里是代码笔:https://codepen.io/fralec/pen/xZBKzO

这是我网站上的按钮

/* JS scripts are added see github repo for more 
https://github.com/fralec/ElegantJS */

$('#contact').elegant({
    clickNextToClose: true,
    newTab: true,
    github: {
        id: ''
    },
    twitter: {
        id: ''
    },
    mail: {
        id: ''
    },
    steam: {
        id: ''
    }
});
body {
  background-color: black;
  font-family: "Source Sans Pro", sans-serif;
  color: #ccc;
  z-index: -100;
  background-color:black;
}

#home {
    position: absolute;
    width: 16%;
    background-color: transparent;
    border: 2px solid #FFF;
    margin-top: 12%;
    margin-left: 20%;
    height: 3em;
    color: #FFF;
    font-size: 1em;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
}

#about {
    position: absolute;
    width: 16%;
    background-color: transparent;
    border: 2px solid #FFF;
    margin-top: 12%;
    margin-left: 37%;
    height: 3em;
    color: #FFF;
    font-size: 1em;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
}

#projects {
    position: absolute;
    width: 16%;
    background-color: transparent;
    border: 2px solid #FFF;
    margin-top: 12%;
    margin-left: 54%;
    height: 3em;
    color: #FFF;
    font-size: 1em;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
}

#contact {
    position: absolute;
    width: 16%;
    background-color: transparent;
    border: 2px solid #FFF;
    margin-top: 12%;
    margin-left: 71%;
    height: 3em;
    color: #FFF;
    font-size: 1em;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 4px;
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
}

#home:hover {
    color: #1dd2e2;
    border: 3px solid #18bdef;
    font-weight: bold;
}

#about:hover {
    color: #1dd2e2;
    border: 3px solid #18bdef;
    font-weight: bold;
}

#projects:hover {
    color: #1dd2e2;
    border: 3px solid #18bdef;
    font-weight: bold;
}

#contact:hover {
    color: #1dd2e2;
    border: 3px solid #18bdef;
    font-weight: bold;
}

@keyframes grain {
  0%, 100% { transform:translate(0, 0) }
  10% { transform:translate(-5%, -10%) }
  20% { transform:translate(-15%, 5%) }
  30% { transform:translate(7%, -25%) }
  40% { transform:translate(-5%, 25%) }
  50% { transform:translate(-15%, 10%) }
  60% { transform:translate(15%, 0%) }
  70% { transform:translate(0%, 15%) }
  80% { transform:translate(3%, 35%) }
  90% { transform:translate(-10%, 10%) }
}

@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
<!DOCTYPE html>

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <title>Home</title>
    
    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro|Play" rel="stylesheet">
    
    <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css'>
    <link rel='stylesheet prefetch' href='http://rawgit.com/fralec/elegantShareJS/master/css/elegant.css'>

    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>  
<body>
    
    <button id="home">Home</button>
    <button id="about">About</button>
    <button id="projects">Projects</button>
    <button id="contact">Contact</button>
    
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js'></script>
    <script type="text/javascript" src="js/elegant.js"></script>
    
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript" src="js/background.js"></script>
</body>
</html>

【问题讨论】:

  • 看起来“优雅”插件所做的只是生成社交链接github.com/fralec/ElegantJS/wiki 您是否希望它做更多的事情,或者您只是希望每个按钮显示 4 组独特的社交链接?
  • 我希望能够创建一个按钮,一旦单击该按钮就会在动画中进行相同的淡入淡出并显示一些内容。例如一个“关于”按钮,一旦你点击它,它就会打开一个页面,里面有一段关于我的文章。
  • 您展示的示例仅使用了一个社交媒体链接插件 - 它不会转换普通页面,只是一个社交媒体链接列表。
  • 是否可以添加文本而不是社交媒体链接?
  • 没有那个插件。我的意思是,有可能……这只会让人头疼,而且会永远持续下去。从头开始编写该功能会更容易。

标签: javascript html css button transition


【解决方案1】:

从这里复制 JS 代码:https://github.com/fralec/ElegantJS/blob/master/script/elegant.js 并使用这个新文件作为 elegant.js 的脚本源,而不是 rawgit url 脚本源。

然后按照相同的格式将新按钮添加到代码中,如下所示:

facebook: { id: null, faIcon: "facebook", color: "#3b5998", url: "https://www.facebook.com/", target: null}, facebook - 新按钮的名称

id - //如果您需要此站点的 id,请将其放在这里,否则保持 null

faIcon - //把你想要的Font Awesome图标放在这里

color - //这是悬停颜色

url - 您希望按钮将您带到的网址

现在在你的 js 文件中,而不是这个:

facebook: { id: '' } 这样做

newButtonName: { id: '' }, otherNewButtonName: { id: '' }

现在去玩劫持别人的代码吧 ;-)

【讨论】:

  • 好的!我会试试这个。
  • 它还具有背景颜色、按钮大小、关闭按钮大小、文本颜色和淡化效果选项。
  • 等等,这只是为 js 正在创建的页面创建按钮,对吗?我正在尝试创建一个全新的页面,我可以在其中写一段或其他内容。因为由于某种原因,当我尝试创建不同的页面时它不起作用。
  • 示例:pastebin.com/qnw16rXR,此代码不起作用。它应该做到这一点,所以当我单击关于按钮时,它会显示一个空白页面。但它没有,它会打开与联系按钮相同的页面。
  • 是的,这只是为了创建一个包含按钮的模式。
猜你喜欢
  • 2022-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 2021-03-01
  • 2013-08-27
相关资源
最近更新 更多