Php 将href值增加一(Javascript)
我有一份有序的名单Php 将href值增加一(Javascript),php,javascript,jquery,html,css,Php,Javascript,Jquery,Html,Css,我有一份有序的名单 <li id="prev"> <a href="#fragment-1>Next</a> </li> 当单击下一个时,它应该从4停止并返回到1。那么javascript是否可以呢 谢谢你首先给你的链接一个id,让它更容易选择 那么 示例:首先为您的链接提供一个id,以便于选择 那么 示例:不完全是您想要的,但应该足够近,以便将您对准正确的方向,请检查 $(函数(){ var$list=$(“#list”), 计数
<li id="prev">
<a href="#fragment-1>Next</a>
</li>
当单击下一个时,它应该从4停止并返回到1。那么javascript是否可以呢
谢谢你首先给你的链接一个
id
,让它更容易选择
那么
示例:首先为您的链接提供一个
id
,以便于选择
那么
示例:不完全是您想要的,但应该足够近,以便将您对准正确的方向,请检查
$(函数(){
var$list=$(“#list”),
计数=4,
i=0,
cur=0;
对于(;i”);
}
$('a',$list).eq(0).css('color','red');
$(“#下一步”)。单击(函数(ev){
ev.preventDefault();
cur++;
如果(cur>=计数)cur=0;
$('a','list').css('color','blue').eq(cur).css('color','red');
});
});
不完全是您想要的,但应该足够近,以便将您对准正确的方向,请检查
$(函数(){
var$list=$(“#list”),
计数=4,
i=0,
cur=0;
对于(;i”);
}
$('a',$list).eq(0).css('color','red');
$(“#下一步”)。单击(函数(ev){
ev.preventDefault();
cur++;
如果(cur>=计数)cur=0;
$('a','list').css('color','blue').eq(cur).css('color','red');
});
});
jQuery解决方案:
$(document).ready(function(){
$('#prev a').click(function(){
var href = $(this).attr('href');
var num = parseInt(href.substr(href.indexOf('-') + 1));
if(num == 4)
{
num = 1;
}
else
{
num++;
}
$(this).attr('href', '#fragment-' + num)
});
});
jQuery解决方案:
$(document).ready(function(){
$('#prev a').click(function(){
var href = $(this).attr('href');
var num = parseInt(href.substr(href.indexOf('-') + 1));
if(num == 4)
{
num = 1;
}
else
{
num++;
}
$(this).attr('href', '#fragment-' + num)
});
});
一种类似于Delan的解决方案,但使用jQuery而不使用测试 编辑:
此解决方案使计数器从0开始,而不是从1开始,这是一个类似于Delan的解决方案,但是使用jQuery,并且不使用测试 编辑:
此解决方案使计数器从0开始,而不是从1开始。使用隐藏字段保存值,使用onclick函数增加值并提交表单。见:
函数提交形式(x){
如果(x=='prev'){
document.getElementById('count')。值--;
}否则{
document.getElementById('count').value++;
}
document.forms[“form”].submit();
}
使用隐藏字段保存值,使用onclick函数增加值并提交表单。见:
函数提交形式(x){
如果(x=='prev'){
document.getElementById('count')。值--;
}否则{
document.getElementById('count').value++;
}
document.forms[“form”].submit();
}
n%5在达到4后不起作用,然后从0开始,而不是从1开始。n%5在达到4后不起作用,然后从0开始,而不是从1开始。
<ul id="list"></ul>
<a href="#" id="next">Next</a>
$(function() {
var $list = $('#list'),
count = 4,
i = 0,
cur = 0;
for (; i < count; i++) {
$list.append('<li><a href="#fragment' + i + '">frag' + i + '</a></li>');
}
$('a', $list).eq(0).css('color','red');
$('#next').click(function(ev) {
ev.preventDefault();
cur++;
if (cur >= count) cur = 0;
$('a', $list).css('color','blue').eq(cur).css('color','red');
});
});
$(document).ready(function(){
$('#prev a').click(function(){
var href = $(this).attr('href');
var num = parseInt(href.substr(href.indexOf('-') + 1));
if(num == 4)
{
num = 1;
}
else
{
num++;
}
$(this).attr('href', '#fragment-' + num)
});
});
$('#next').on('click', function(e) {
e.preventDefault();
href = $(this).attr('href');
var n = href.split('-')[1] * 1 + 1;
n = n%5;
e.target.href = href.split('-')[0] + '-' + n;
});
<?
if(!isset($_GET['count'])) {
$count = 0;
} else {
$count = $_GET['count'];
}
?>
<script type='text/javascript'>
function submitForm(x) {
if(x == 'prev') {
document.getElementById('count').value--;
} else {
document.getElementById('count').value++;
}
document.forms["form"].submit();
}
</script>
<form action='hidfield.php' method='get' name='form'>
<input type='hidden' name='count' id='count' value='<?php echo $count; ?>'>
</form>
<input type='submit' name='prev' value='prev' onclick="submitForm('prev')">
<input type='submit' name='next' value='next' onclick="submitForm('next')">