php - 用拨动开关替换 Select 标签
问题描述
我在项目中使用选择标签来更改网站的主题。这在我的项目中就像一个魅力,但我想用带有 jquery 集成的切换开关替换选择标签。就像,youtube 切换黑暗主题。我怎样才能做到这一点
这是我的代码。
HTML、JS 和 JQuery
$(function() {
$('.style-change').change(function() {
var style = $(this).val();
$('body').fadeOut("slow", function() {
$('link[rel="stylesheet"]').attr("href", style + ".css");
$('body').fadeIn("slow");
$.cookie("css", style, {
expires: 365,
path: '/'
});
});
});
});
$(document).ready(function() {
$("#style").val('<?php echo $style; ?>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<select name="" class="style-change form-control" id="style">
<option value="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min">Default Style</option>
<option value="https://bootswatch.com/3/darkly/bootstrap.min">Night Mode</option>
</select>
PHP
<?php
if (isset($_COOKIE['css'])) {
$style = $_COOKIE['css'];
} else {
$style = 'default';
}
?>
我正在使用 jQuery cookie 库将用户设置保存在 cookie 中。
任何建议都将是可观的。
解决方案
请参阅this,这可能会对您有所帮助 - https://www.jqueryscript.net/form/jQuery-Plugin-To-Convert-Select-Box-Into-A-Switch-Control-Switch-Button.html
基本用法:
在文档中加载 jQuery 库和 jQuery 切换按钮插件。
创建一个常规选择框。
<option value="1">Item One</option> <option value="2">Item Two</option> <option value="3">Item Three</option> <option value="4" selected>Item Four</option> </select>
调用插件将其转换为可切换的开关按钮。
$('.btn-switch').switchButton();
将您的自定义样式添加到此开关按钮。
.switch-选择{
overflow: hidden; border-radius: 3px; } .switch-select-button { text-align: center; font-size: 80%; padding: 5px; cursor: pointer; background: rgb(224, 224, 224); } .switch-select-button:hover { background: rgb(207, 55, 55); color: white; }
可用选项。
template: "", // 自定义模板
class: "switch-select", // element class innerclass: "switch-select-button", // inner element class width: "", // default to its parent width marker: "#3577EE, // marker color markerback: "#B9B9B9", // marker background color markerh: "4px", // marker size onchange: "function(value){}" // callback function
推荐阅读
- python - 为什么注入环境变量后我没有获取文件?
- url - Gatsby 中嵌套页面的路由
- apache-spark - Spark批量写入Cassandra:Spark-Cassandra-Connector vs SSTableLoader(Cassandra Bulk Loader)
- sql-server - SQL Server STRING_AGG 函数排序未按预期工作
- node.js - 如何在 Mongoose 中填充或获取其他收集数据
- javascript - 每当我单击js中的按钮时,如何关闭最后一个打开的窗口
- python - 我在海盗湾的网络爬虫没有返回种子,可能是什么?
- python - 你能用opencv在特定的屏幕坐标显示图像吗?
- flutter - 如何取消特定的计时器?
- angular - Angular9 /更改[src]文件夹层次结构