Hallo,
die Lücke beruht wohl darauf, dass Du keine fortlaufenden Indizes benutzt hast.
Da Du Deine Umfrage nicht als lss Export geschickt hast, kann ich dazu nicht mehr sagen.
Aber:
Wenn Du das im Link gezeigte Script benutzt
Code:
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
var ticksArray = [
[1, '-7'],
[2, '-6'],
[3, '-5'],
[4, '-4'],
[5, '-3'],
[6, '-2'],
[7, '-1'],
[8, '0'],
[9, '1'],
[10, '2'],
[11, '3'],
[12, '4'],
[13, '5'],
[14, '6'],
[15, '7'],
];
var ticksArray2 = [
[1, '<img src="/lime3/upload/surveys/769143/images/smiley_red_401.png">'],
[2, ''],
[3, ''],
[4, ''],
[5, ''],
[6, ''],
[7, ''],
[8, '<img src="/lime3/upload/surveys/769143/images/smiley_yellow_401.png">'],
[9, ''],
[10, ''],
[11, ''],
[12, ''],
[13, ''],
[14, ''],
[15, '<img src="/lime3/upload/surveys/769143/images/smiley_green_401.png">'],
];
insertSliderTicks('{QID}', ticksArray);
insertSliderTicks2('{QID}', ticksArray2);
});
/* Insert Slider Tick Marks */
function insertSliderTicks(qID, ticksArray) {
var thisQuestion = $('#question'+qID);
$(thisQuestion).addClass('with-inserted-ticks');
$('input:text', thisQuestion).on('slideEnabled',function(){
var thisSlider = $(this);
var thisItem = $(thisSlider).closest('li');
var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin');
var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax');
var thisRange = thisMax - thisMin;
$.each(ticksArray, function(i, val) {
var tickRelativePosition = val[0] - thisMin;
var tickPercent = (tickRelativePosition/thisRange)*100;
// Insert tick marks
$('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick left-'+tickPercent+'" style="left: '+tickPercent+'%">\
<div class="tick-text">'+val[1]+'</div>\
</div>');
});
});
}
/* Insert Slider Tick Marks */
function insertSliderTicks2(qID, ticksArray2) {
var thisQuestion = $('#question'+qID);
$(thisQuestion).addClass('with-inserted-ticks');
$('input:text', thisQuestion).on('slideEnabled',function(){
var thisSlider = $(this);
var thisItem = $(thisSlider).closest('li');
var thisMin = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemin');
var thisMax = $('.slider-handle:eq(0)', thisItem).attr('aria-valuemax');
var thisRange = thisMax - thisMin;
$.each(ticksArray2, function(i, val) {
var tickRelativePosition = val[0] - thisMin;
var tickPercent = (tickRelativePosition/thisRange)*100;
// Insert tick marks
$('.slider-handle:eq(0)', thisItem).before('<div class="inserted-tick2 left-'+tickPercent+'" style="left: '+tickPercent+'%">\
<div class="tick-text">'+val[1]+'</div>\
</div>');
});
});
}
</script>
Code:
<style type="text/css">/* Slider Tick Marks */
@media only screen and (min-width: 768px) {
.with-inserted-ticks .slider-container {
padding-right: 30px;
padding-left: 30px;
}
}
.with-inserted-ticks .slider-item {
margin-bottom: 50px;
}
.with-inserted-ticks .slider-container .help-block {
margin: 25px 0 0 -20px;
width: 40px;
text-align: center;
}
.with-inserted-ticks .slider-container .help-block.pull-right {
margin: 25px -20px 0 0;
}
.inserted-tick, .inserted-tick2 {
position: absolute;
top: 20%;
height: 20px;
width: 4px;
margin-top: -5px;
margin-left: -1px;
background-color: #DDDDDD;
background-color: green;
}
.inserted-tick2.left-0,
.inserted-tick2.left-100,
.inserted-tick.left-0,
.inserted-tick.left-100 {
background-color: transparent;
background-color: green;
}
.inserted-tick2 .tick-text {
position: absolute;
top: -250%;
width: 100px;
margin-left: -50px;
color: #000000;
text-align: center;
}
.inserted-tick .tick-text {
position: absolute;
top: 150%;
width: 100px;
margin-left: -50px;
color: #000000;
text-align: center;
}
@media only screen and (max-width: 768px) {
.inserted-tick.left-0 .tick-text {
margin-left: 0px;
text-align: left;
}
.inserted-tick.left-100 .tick-text {
margin-left: -100px;
text-align: right;
}
}
</style>
(hier läuft die Skala ja von 1 - 15, kommt sofort dies. Natürlich mit der entsprechenden Teilfrage.
Und die im Original-Thread erwünschten Bilder sind auch nicht vorhanden.
Das ist jetzt noch nicht, wie Du es Dir gewünscht hast.
1. Deine Skala geht nicht von -7 - +7 sondern von 9 - 1 - 9. Das sind also 17 Skalenpunkte.
Ob Du nun den Slider von 1 - 17 laufen lässt, oder von -8 - +8 ist Dir überlassen.
Die Indizes im Script müssen nur damit übereinstimmen.
Also entweder
Code:
var ticksArray = [
[1, '9'],
[2, '8'],
[3, '7'],
[4, '6'],
...
[8, '2'],
[9, '1'],
[10, '2'],
[11, '3'],
...
[16, '8'],
[17, '9']
oder
Code:
var ticksArray = [
[-8, '9'],
[-7, '8'],
[-6, '7'],
[-5, '6'],
...
[-1, '2'],
[0, '1'],
[1, '2'],
[2, '3'],
...
[7, '8'],
[8, '9']
2. Deine Texte(extrem wichtig", usw.) sind nicht vorhanden.
Dafür siehst Du aber, wo die Bilder eingetragen sind.
Statt derer würden also in "ticksarray2" Deine Texte hineinkommen.
Kannst Du ja wie gewünscht stylen <span style="color:blue">extrem wichtiger</span>
3. Da ja diese Tickmarks da sind, ist der Tooltip im Grunde überflüssig, ja, er stört sogar.
Diesen entfernst Du durch eine zusätzlich Angabe im <style>...</style> Teil
Code:
.slider .tooltip {display:none; }
4. Die Texte links und rechts der Skala sind ein bisschen niedrig.
Auch hier im <style>...</style> Teil
Code:
@media only screen and (min-width: 768px) {
.slider-list .slider-left, .slider-list .slider-right {
margin-top: 0em;
}
}
Dann sollte das erscheinen, was ich schon gezeigt habe.
Viel Erfolg
Joffm
PS.
Bei Problemen schicke bitte den lss Export Deiner Umfrage.