我创建了一个使用Twitter Bootstraps轮播的自定义帖子类型。我做了一些修改,似乎无法将类'active'添加到第一个元素。
我试图修改的地方是第53行 Pastebin code
编辑:所以我跟着这个tutorial来创建我的自定义帖子类型,我正在使用Twitter Bootstraps轮播创建一个主页旋转器。到目前为止,我能够引入图像,标题和摘录。旋转器的作用就像我在旋转木马的导航上单击左侧或右侧一样,但事实上我似乎无法将类“主动”添加到我应该说的第一个元素或新帖子中。我环顾四周,尝试循环(我的PHP技能不好),我的for循环似乎没有用。我也试过在for循环中使用计数器,但也没有。如果有人可以指导正确的方向,我的逻辑可能会消失,我很乐意欣赏它。感谢。
答案 0 :(得分:0)
这里有几个潜在的问题。
我猜你可能有运营商优先问题。在你的代码中:
if(!$count % 1) echo 'active';
!
将在%
运算符之前处理。因此,您在$count
中有一个非零值,您实际上将这样做:
if(false % 1) echo 'active';
我猜的不是你想要的。
使用括号使您的操作顺序正确:
if(!($count % 1)) echo 'active';
话虽如此,您似乎也对使用模数运算符的方式存在逻辑问题。 1
的模数在这里可能不会对你做任何事情,好像(我假设)$count
是一个整数值,除以1时永远不会有余数,因此你的条件永远是:
if(!0) echo 'active';
当然,这将总是评估为真,这首先打破了有条件的地步。
答案 1 :(得分:0)
抛开代码的不良布局......
您正在讨论的if
语句永远不会评估为TRUE
,因此不会添加该类。
!$count % 1
基本上将$count
转换为TRUE
或FALSE
,然后执行% 1
操作......
逻辑规定(int > 0) == TRUE
。因此,如果您离开TRUE
,您的代码将在第一个循环($count == 0
)上评估为% 1
。
但是,由于您有% 1
(输出除法运算的余数),因此它的计算结果为false。这是因为TRUE
(!$count
时$count == 0
的值)等于1
(即bool(TRUE) == int(1)
)和1 % 1 == 0
因此{ {1}}。
您可以不使用FALSE
或使用% 1
(或任何大于% 2
的数字)。
此外,您似乎没有在代码中的任何位置递增计数器...您需要在每个循环结束时使用1
或$count++
或至少等内容递增计数器您需要将其作为$count += 1
语句的一部分递增,以便它不适用于每个后续循环,如:
IF